php将整型转为字符串,在PHP中将整数转换为字符串

在PHP中将整数转换为字符串

有没有办法在PHP中将整数转换为字符串?

12个解决方案

647 votes

您可以使用strval()函数将数字转换为字符串。

从维护的角度来看,它显然是你想要做的,而不是其他一些更深奥的答案。 当然,这取决于你的背景。

$var = 5;

// Inline variable parsing

echo "I'd like {$var} waffles"; // = "I'd like 5 waffles

// String concatenation

echo "I'd like ".$var." waffles"; // I'd like 5 waffles

// Explicit cast

$items = (string)$var; // $items === "5";

// Function call

$items = strval($var); // $items === "5";

Chris Thompson answered 2019-01-01T04:55:15Z

79 votes

有很多方法可以做到这一点。

两个例子:

$str = (string) $int;

$str = "$int";

有关更多信息,请参阅PHP手册类型杂耍。

Sanjay Sheth answered 2019-01-01T04:55:49Z

36 votes

$foo = 5;

$foo = $foo . "";

现在$foo是一个字符串。

但是,你可能想习惯投射。 铸造是完成某种事情的正确方法。

$foo = 5;

$foo = (string)$foo;

另一种方法是封装在引号中:

$foo = 5;

$foo = "$foo"

Sev answered 2019-01-01T04:56:24Z

9 votes

在PHP中有很多方法可以将整数“转换”为字符串。

传统的CS方式是将变量转换为字符串

$int = 5;

$int_as_string = (string) $int;

echo $int . ' is a '. gettype($int) . "\n";

echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";

您还可以利用PHP的隐式类型转换和字符串插值

$int = 5;

echo $int . ' is a '. gettype($int) . "\n";

$int_as_string = "$int";

echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";

$string_int = $int.'';

echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";

最后,与上面类似,任何接受并返回字符串的函数都可以用于转换和整数。 考虑以下

$int = 5;

echo $int . ' is a '. gettype($int) . "\n";

$int_as_string = trim($int);

echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";

我不推荐最终选项,但我已经看到了依赖于这种行为的野外代码,所以我想我会把它传递给它。

Alan Storm answered 2019-01-01T04:57:13Z

7 votes

所有这些答案都很棒,但如果值为零,它们都会返回一个空字符串。

请尝试以下方法:

$v = 0;

$s = (string)$v : (string)$v ? "0";

Microprocessor Cat answered 2019-01-01T04:57:37Z

6 votes

$intValue = 1;

$string = sprintf('%d',$intValue );

或者可能是:

$string = (string)$intValue ;

要么:

settype(&$intValue ,'string');

gewel answered 2019-01-01T04:58:05Z

4 votes

有许多可能的转换方式:

$input => 123

sprintf('%d',$input) => 123

(string)$input => 123

strval($input) => 123

settype($input, "string") => 123

Saad answered 2019-01-01T04:58:27Z

3 votes

您可以使用句点运算符并将字符串连接到它(并且它将类型转换为字符串):

$integer = 93;

$stringedInt = $integer."";

或者,更准确地说,您只需键入强制转换为字符串:

$integer = 93;

$stringedInt = (string) $integer;

Andrew Dunkman answered 2019-01-01T04:58:55Z

0 votes

我会说这取决于背景。 可以使用strval()或者转换操作符(string),但是在大多数情况下,PHP会决定什么对你有好处,例如你将它与echo或printf一起使用...一个小注释:die()需要一个字符串, 不会显示任何int :)

merkuro answered 2019-01-01T04:59:17Z

0 votes

由于这里的答案很好地证明了,是的,有几种方法。 但是,在PHP中,您很少需要这样做。 编写PHP的“教条方式”是依赖于语言的松散类型系统,它将根据需要透明地强制类型化。 对于整数值,这通常没有问题。 不过,您应该非常小心浮点值。

troelskn answered 2019-01-01T04:59:41Z

0 votes

您只需使用以下内容:

$intVal = 5;

$strVal = trim($intVal);

Imam answered 2019-01-01T05:00:02Z

-4 votes

$integer = 93;

$stringedInt = $integer.'';

比...更快

$integer = 93;

$stringedInt = $integer."";

Arthur Kushman answered 2019-01-01T05:00:24Z

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值