嘿,我有以下代码片段:
$connection = new mysqli('localhost', 'root', 'XXXX', 'test') ;
$id_value = $connection->query("Select id from pbx");
for($i=0;$i<count($data->sheets);$i++)
{
if(count($data->sheets[$i]['cells'])>0) {
for($j=2;$j<=count($data->sheets[$i]['cells']);$j++){
for($k=1;$k<=count($data->sheets[$i]['cells'][$j]);$k++)
$data->sheets[$i]['cells'][$j][1];
$User = mysqli_real_escape_string($connection,$data->sheets[$i]['cells'][$j][1]);
$Number = mysqli_real_escape_string($connection,$data->sheets[$i]['cells'][$j][2]);
$HR_id = mysqli_real_escape_string($connection,$data->sheets[$i]['cells'][$j][3]);
foreach($id_value as $id_value){
echo $id_value['id']."<br/>";
}
}
}
}
当我执行脚本时,我收到以下错误消息:
警告:非法字符串偏移'id_value' 第36行的C:\ xampp \ htdocs \ var \ www \ classes \ test4.php
警告:为foreach()提供的参数无效 第35行的C:\ xampp \ htdocs \ var \ www \ classes \ test4.php
如果我在第一个“for”循环之外使用foreach它可以工作。但是我不能在里面使用它。是不是可以在for循环中使用foreach?你能帮我解决我做错了什么吗?
答案 0 :(得分:0)
如评论中所述。无法使用带有变量名称的foreach来分配值。我改成了:
foreach($id_value as $id_wert){
echo $id_wert['id']."<br/>";
}
现在它运作正常。