我想计算一个字符串的长度,但我得到通知错误
问题描述:
这是我的脚本,我正在计算没有库函数的字符串的长度,但我收到错误?我想计算一个字符串的长度,但我得到通知错误
<?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;
答
试试这个,
$name = "Mohammad Umar";
$name_length=strlen($name);
$i = 0;
for($i=0;$i<$name_length;$i++)
{
if($name[$i] == '')
{
echo $i;
}
}
+0
脚本没有输出 –
其实I W蚂蚁计算没有库函数的字符串的长度,所以徘徊在stackoverflow并找到脚本。那么你能告诉我$ name [$ i]!=''“???的实际含义是什么?如果你有更好的方法,请帮助我。 。谢谢。 –
好吧,偏移量是你的字符串中的一个索引,它在你的例子中从0到12,然后我没有看到想要在没有库函数的情况下计算长度的意义...... Personnaly,I至少会使用一个名为'isset',请参阅我编辑的答案 –