在php中将数字转换为字符串

时间:2012-07-15 14:59:42

标签: php

在下面我尝试了$code = (string)$code;没有成功,如何在PHP中将数字转换为字符串?

$code = 087326487326;
$strlen = strlen($code);
print $strlen."<br/>";
for ($i = $strlen; $i >= 0; $i--) {
  print substr($code, 0, $i)."<br/>";
}

输出:

1
0

$code = '087326487326';
$strlen = strlen($code);
print $strlen."<br/>";
for ($i = $strlen; $i >= 0; $i--) {
  print substr($code, 0, $i)."<br/>";
}

输出:

12
087326487326
08732648732
0873264873
087326487
08732648
0873264
087326
08732
0873
087
08
0

4 个答案:

答案 0 :(得分:3)

它失败了,因为它以0为前缀,使得PHP尝试将其解释为八进制数,其中8在解析字符串时不是有效的八进制数字,因此得到{{ 1}}。

解决方案是使用0广告投放或strval(),但您需要从(string)的定义中删除前导零。

$code

这将输出(在x64机器上):

$code = 87326487326;
var_dump( $code, (string) $code, strval( $code));

答案 1 :(得分:1)

我喜欢这种类型的杂耍方式,如果你有。

$code = 087326487326;

要将其强制转换为字符串,您只需:

$code = "$code";

修改

抱歉,有点分心,我测试错了。 上面说的是真的,导致零是一场灾难。 方法不要删除它,并在以后填充数字?

答案 2 :(得分:0)

您可以像这样使用类型转换

 $code = (string)58963245874;

检查它是否打印类型如下

 echo gettype($code);

答案 3 :(得分:0)

您可以使用以下函数转换为字符串:

strval($code);