所以我正在建立一个网站,这是一个无法生成测验的网站,并且在最后几天我面临一个错误: 注意:未定义的偏移1 注意:未定义的偏移量2,依此类推。 在第31行:
$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' ";
另一个错误是:
Notice: Array to string conversion at line 37 :
$zapytanie = "SELECT * FROM pytania WHERE id = '$z' ";
请帮忙。我试图解决这个错误已经5天了。请帮忙
答案 0 :(得分:0)
您的代码段不完整,但我猜顶部是函数losowanie()
。如果是这种情况,错误就在这一行:
$id[] = losowanie($_POST['ilePytan']) ;
您将结果数组添加到数组$id
,以便它包含一个数组元素。我不认为你想要这个。
$id = losowanie($_POST['ilePytan']) ;
应该解决这个问题。
答案 1 :(得分:0)
根据您的通知:
losowanie函数将返回一个数组,您再次将其分配为数组 $ id [] 这应该是这样的:
$id = losowanie($_POST['ilePytan']);
因为您正在使用数组作为字符串,数组到字符串转换非常清楚您的第二个通知。这意味着上面提到的线将解决问题。