我想计算一个字符串的长度,但我得到通知错误

问题描述:

这是我的脚本,我正在计算没有库函数的字符串的长度,但我收到错误?我想计算一个字符串的长度,但我得到通知错误

<?php 

$name = "Mohammad Umar"; 

$i = 0; 

while ($name[$i] != ''){ 
    $i++; 
} 

echo $i; 

?> 

在字符串中有13个偏移量,从0到12

没有任何偏移量等于'',因为你只有字母字符和空格。

因此,您的while循环无法停止并达到未定义的第13偏移量。

你真的想要到达这个空间吗?如果是这样的情况下,尝试在' '

编辑

测试$name[$i]要计算字符串的长度没有strlen,但至少有一个变量处理函数调用isset,我这样做:

$name = "Mohammad Umar"; 

$i = -1; 
while (isset($name[++$i])); 

echo $i; 
+0

其实I W蚂蚁计算没有库函数的字符串的长度,所以徘徊在stackoverflow并找到脚本。那么你能告诉我$ name [$ i]!=''“???的实际含义是什么?如果你有更好的方法,请帮助我。 。谢谢。 –

+0

好吧,偏移量是你的字符串中的一个索引,它在你的例子中从0到12,然后我没有看到想要在没有库函数的情况下计算长度的意义...... Personnaly,I至少会使用一个名为'isset',请参阅我编辑的答案 –

试试这个,

$name = "Mohammad Umar"; 
$name_length=strlen($name); 
$i = 0; 

for($i=0;$i<$name_length;$i++) 
{ 
    if($name[$i] == '') 
    { 
    echo $i; 
    } 
} 
+0

脚本没有输出 –