我正在尝试计算字符串的长度,但我收到NOTICE错误

时间:2016-12-31 08:53:58

标签: php string

这是我的脚本,我在计算没有库函数的字符串长度,但是我收到了错误?

<?php 

$name = "Mohammad Umar";

$i = 0;

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

echo $i;

?>

2 个答案:

答案 0 :(得分:2)

在你的字符串中有13个偏移,从0到12。

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

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

你真的想要到达这个空间吗?如果是这种情况,请尝试在$name[$i]

上测试' '

修改

要计算没有strlen的字符串的长度,但至少有一个名为isset的变量处理函数,我会这样做:

$name = "Mohammad Umar";

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

echo $i;

答案 1 :(得分:0)

试试这个,

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

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