我试图找出strlen()
如何找到数字的长度。当我尝试以下内容时:
echo strlen(00000000000000000000000000000000);
它输出1
但是当我尝试
echo strlen(11111111111111111111111111111111111111111111111111111111);
输出19
。有时它会像这个例子一样正常工作:
echo strlen(19);
strlen()
输出2
。我知道我可以使用以下内容:
echo strlen('00000000000000000000000000000000');
它将输出32
但我想知道它如何与数字一起使用。
答案 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个字符