如何在for循环中使用foreach?

时间:2015-03-03 17:50:36

标签: php for-loop foreach

嘿,我有以下代码片段:

$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?你能帮我解决我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

如评论中所述。无法使用带有变量名称的foreach来分配值。我改成了:

foreach($id_value as $id_wert){
        echo $id_wert['id']."<br/>";
    }

现在它运作正常。