Php 如何修复字符串偏移?
注意:未初始化的字符串偏移量:4/67Php 如何修复字符串偏移?,php,Php,注意:未初始化的字符串偏移量:4/67 for($i = 0; $i < strlen($name); $i++) if($name[$i] == $name[($i+1)] && $name[$i] == $name[($i+2)]) for($i=0;$i
for($i = 0; $i < strlen($name); $i++)
if($name[$i] == $name[($i+1)] && $name[$i] == $name[($i+2)])
for($i=0;$i
注意:未初始化的字符串偏移量:-1/73
for($i = 0; $i < strlen($name); $i++)
if($name[$i-1] == ' ' && $name[$i+1] == ' ')
for($i=0;$i
这些是检查名称是否正确的函数。第一个函数是用3个相同的字母逐个屏蔽名称,例如“Maaark”。
第二种是用于像“MARK”这样的分块格式
请帮我解决这个问题:D只需更改两个for循环,如下所示
for($i = 0; $i < (strlen($name)-2); $i++){
if($name[$i] == $name[($i+1)] && $name[$i] == $name[($i+2)]){
echo "first";
}
}
for($i=0;$i<(strlen($name)-2);$i++){
如果($name[$i]==$name[($i+1)]&&$name[$i]==$name[($i+2)]){
呼应“第一”;
}
}
及
for($i=1;$i<(strlen($name)-1);$i++){
如果($name[$i-1]=''&&$name[$i+1]=''){
呼应“第二”;
}
}
Dude。。。您正在执行的是$i=0代码>然后检查if($name[$i-1]
。这是检查字符串的位置-1
,该位置将永远不存在,因为第一个字符串位置将始终为0。只需查看索引,在两个循环中,您允许它们处理不存在的情况,只需修复您的算法它会给出一个错误,因为如果字符串长度为4,则在2次后输入进入循环$name[($i+2)]给出错误。它不会初始化。数组中不存在与-1相同的索引。第一个索引工作得很理想,但它显示每次通信大约3个相同的字母,即使错误应该与字母之间的空格有关。如果您不想完全理解,我可以向您显示完整的代码。所以您是说问题是wi现在是第二圈了吗?
for($i = 1; $i < (strlen($name)-1); $i++){
if($name[$i-1] == ' ' && $name[$i+1] == ' '){
echo "second";
}
}