【问题标题】:How to use foreach in for loops?如何在 for 循环中使用 foreach?
【发布时间】:2015-05-04 12:01:05
【问题描述】:

嘿,我有以下代码 sn-p:

$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' 在 C:\xampp\htdocs\var\www\classes\test4.php 在第 36 行

警告:为 foreach() 提供的参数无效 C:\xampp\htdocs\var\www\classes\test4.php 第 35 行

如果我在第一个“for”循环之外使用 foreach,它就可以工作。但是我不能在里面使用它。不能在 for 循环中使用 foreach 吗?你能帮我做错吗?

【问题讨论】:

  • 不可能使用带有变量名的foreach 来分配与要迭代的数组名称相同的值。 ($id_value 这里)。

标签: php for-loop foreach


【解决方案1】:

如 cmets 中所述。不能使用带有变量名的 foreach 来分配值。我把它改成:

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

现在它可以正常工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-27
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2018-08-20
    • 1970-01-01
    相关资源
    最近更新 更多