在我的代码中,我想根据$b
数量示例
for($i = 0; $i<3; $i++)
1 $pins[$b] 1234
2 $pins[$b] 5678
3 $pins[$b] uncompleted
这是我的代码:
$pin = "12345678910";
# split string in pieces with 4 characters
$disp = str_split($pin, 4);
for($i = 0; $i<3; $i++){
# loop on all pin
foreach($disp[$i] as $pins) {
# length is not 4
if(strlen($pins) != 4) {
echo "uncompleted";
} else {
echo "$pin[$i] ";
}
}
}
我收到警告:
为foreach()提供的参数无效
如何解决?
答案 0 :(得分:2)
$disp
不是多维的,因此您不需要for($i
。
$pin = "12345678910";
# split string in pieces with 4 characters
$disp = str_split($pin, 4);
foreach($disp as $pin) {
# length is not 4
if(strlen($pin) != 4) {
echo "uncompleted";
} else {
echo $pin;
}
}
foreach($disp[$i]
正在尝试迭代array
或object
,但$disp[$i]
是一个字符串。
答案 1 :(得分:-1)
检查一下,如果你正在使用for循环,那么也不需要添加foreach,str_split
将一个字符串拆分成数组的部分然后我们必须通过循环来检查哪个对象数组的长度为string是4.
$pin = "12345678910";
$disp = str_split($pin, 4);
$count = count($disp);
for($i = 0; $i < $count; $i++){
if(strlen($disp[$i]) != 4) {
echo "uncompleted";
} else {
echo $disp[$i];
}
}
谢谢,我希望它有所帮助。