注意:未定义的偏移量:PHP
因此,我创建了一个网站,该网站被迫生成一个测验,在过去的几天里,我遇到了一个错误: 注意:未定义的偏移量1 注意:未定义的偏移量2等。 第31行:注意:未定义的偏移量:PHP,php,Php,因此,我创建了一个网站,该网站被迫生成一个测验,在过去的几天里,我遇到了一个错误: 注意:未定义的偏移量1 注意:未定义的偏移量2等。 第31行: $z = $id[$i]; 下面是代码的其余部分,可能会有所帮助 for($i=0; $i<$liczba; $i++) { $random = rand($i, $liczba) ; do{ $random = rand($i, $liczba) ; if(in_arr
$z = $id[$i];
下面是代码的其余部分,可能会有所帮助
for($i=0; $i<$liczba; $i++) {
$random = rand($i, $liczba) ;
do{
$random = rand($i, $liczba) ;
if(in_array($random, $wylosowanieNR) == false) {
array_push($wylosowanieNR,$random) ;
array_push($wylosowanieR,$random) ;
break ;
}
}while(in_array($random, $wylosowanieNR) == false) ;
}
return $wylosowanieR ;
}
//code
$id[] = losowanie($_POST['ilePytan']) ;
//code
$z = $id[$i];
$zapytanie = "SELECT * FROM pytania WHERE id = '$z' ";
请帮忙。我试图修复这个错误已经5天了。请帮助您的代码片段不完整,但我猜最上面的部分是函数
losowanie()
。如果是这种情况,则错误在此行中:
$id[] = losowanie($_POST['ilePytan']) ;
将结果数组添加到数组$id
,使其包含一个数组元素。我想你不想要这个
$id = losowanie($_POST['ilePytan']) ;
应解决此问题。根据您的ist通知: losowanie函数将返回一个数组,您将再次将其作为$id[]分配到一个数组中,这应该是:
$id = losowanie($_POST['ilePytan']);
由于您的第二个注意事项非常清楚数组到字符串的转换,因此您将数组用作字符串。这意味着上述行将解决问题。这是一个
通知
,而不是错误。从消息中可以明显看出原因:您试图访问数组$id
中不存在的元素。数组到字符串通知意味着$id[$I]不是string@arkascha那么错误消息可能并不明显,因为您的描述显然不正确。它说的是“[…]'$z'``上的数组到字符串的转换。意思是$z
可能包含数组而不是预期的字符串。(注意是PHP中的一个错误级别,仍然值得修复)@WouterJ这是另一个注意,同样,不是错误。我参考了OP在这里发布的通知,请参见问题的顶部,下面的行作为参考。可能的副本
$id = losowanie($_POST['ilePytan']);