strlen如何处理数字?

时间:2017-02-14 07:24:29

标签: php strlen

我试图找出strlen()如何找到数字的长度。当我尝试以下内容时:

echo strlen(00000000000000000000000000000000);

它输出1但是当我尝试

echo strlen(11111111111111111111111111111111111111111111111111111111);

输出19。有时它会像这个例子一样正常工作:

echo strlen(19);

strlen()输出2。我知道我可以使用以下内容:

echo strlen('00000000000000000000000000000000');

它将输出32但我想知道它如何与数字一起使用。

2 个答案:

答案 0 :(得分:1)

因为strlen()给出了STRING LENGTH .. 00000000000000000000000000在用“00000000000000000000000000”或“00000000000000000000000000”之类的引号写入之前不是字符串。

那么为什么strlen(00000000000000000000000000000000)给出输出1而strlen(11111111111111111111111111111111111111111111111111111111)给出19?

因为整数00000000000000000000000000000000 = 0 ..这意味着长度为1.而11111111111111111111111111111111111111111111111111111111不等于1,而是11111111111111111111111111111111111111111111111111111111。因此它输出32。

有关更多信息,请查看strlen()

的文档

答案 1 :(得分:1)

尝试echo 11111111111111111111它将回显1.1111111111111E+19,这是19个字符,这就是长度为19的原因,但是如果您尝试echo 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111它会输出1.1111111111111E + 100如果你试着获得它的长度它将是20个字符