在下面我尝试过$code = (string)$code;
没有成功,如何在 PHP 中将数字转换为字符串?
$code = 087326487326;
$strlen = strlen($code);
print $strlen."<br/>";
for ($i = $strlen; $i >= 0; $i--) {
print substr($code, 0, $i)."<br/>";
}
Output:
1
0
and
$code = '087326487326';
$strlen = strlen($code);
print $strlen."<br/>";
for ($i = $strlen; $i >= 0; $i--) {
print substr($code, 0, $i)."<br/>";
}
Output:
12
087326487326
08732648732
0873264873
087326487
08732648
0873264
087326
08732
0873
087
08
0
它失败了,因为它的前缀是0
,使 PHP 尝试将其解释为八进制数,其中8
不是一个有效的八进制数字,因为它解析字符串,所以你得到0
.
解决方案是使用一个(string)
投射或strval() http://php.net/strval,但是您需要从定义中删除前导零$code
.
$code = 87326487326;
var_dump( $code, (string) $code, strval( $code));
这将输出(在 x64 机器上):
int(87326487326) string(11) "87326487326" string(11) "87326487326"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)