PHP foreach循环遍历多维数组

标签 php for-loop foreach

我有一个多维数组,我该如何使用它?我想在 for 循环中使用每个单独的数组。

我想要实现的是能够将每个部分都放入我的数据库中,例如 数据库编号中的条目。 0 -> 1 和 4 数据库编号中的条目。 1 -> 5 和 6 数据库编号中的条目。 2 -> 1 和 4 以及 5 和 6

我有这个代码:

<?php 
    print_r($calculatie_id); 
    for ($i=0; $i<=3; $i++) 
{ 
?>  
<tr> 
    <td> 

    <?php 
    foreach ($calculatie_id[$i] as $value) 
    { 
        echo $value; 
    } 
?>

print_r($calculatie_id); gives 
Array ( [0] => Array ( [0] => 4 [1] => 6 ) [1] => Array ( [0] => 1 [1] => 5 ) [2] => Array ( [0] => 5 [1] => 6 ) [3] => )

但是当使用 foreach 我只得到 46

一些额外的信息:

这个数组是由 for 循环中的多选创建的。欢迎任何其他建议。

    for ($i=0; $i<=$aantal_regels_corr; $i++)
{ 
?> 
<tr>
    <td>

        <?php 
        // maak select name
        $calculatie_id = 'calculatie_id'.$i;

        // rest van formulier
        if($error_vergeten[$i] == "ja"){ $error_omschr = $error_omschr_vergeten[$i]; include('includes/input_error.php'); } ?>&nbsp;<textarea rows="7" cols="80" name="omschrijving[]" /><?php echo $omschrijving[$i]; ?></textarea>
    </td>
    <td colspan="2">
        <select multiple="multiple" width="50" size="7" name="<?php echo $calculatie_id ?>[]" style="width: 150px">
        <?php
            $sql_calc = "select id, naam, actief from sp_calculatie WHERE (offerte_id = '".$row['off_offerte']."' OR offerte_id = '".$offerte_id."') AND actief = 'ja' ORDER BY id ASC";
            $res_calc = mysql_query($sql_calc,$con);  
            while ($row_calc = mysql_fetch_assoc($res_calc)){
        ?>
            <option value="<?php echo $row_calc["id"] ?>"><?php if (empty($row_calc["naam"])) { echo $row_calc["id"]; } else { echo $row_calc["naam"]; } ?></option>
        <?php } ?></select>
    </td>
</tr>
<?php } ?>

最佳答案

foreach($calculatie_id as $inner_arr)
    foreach($inner_arr as $value)
        echo $value;

编辑:您应该尝试学习和理解这里发生了什么。然后,你可以用我写的代码做任何你想做的事情。你说:给 14561456 我想用 $calculatie_id0=14 $calculatie_id1=56 $calculatie_id2=1456然后,你将不得不这样做:

foreach($calculatie_id as $index => $inner_arr){
    echo "$calculatie_id$index = "
    foreach($inner_arr as $value)
        echo $value;
    echo "<br/>";
}

或者你可以创建你想要的那些变量(这对我来说没有任何意义):

foreach($calculatie_id as $index => $inner_arr){
    ${"calculatie_id$index"} = '';
    foreach($inner_arr as $value)
        ${"calculatie_id$index"} .= $value;
    echo ${"calculatie_id$index"}."<br/>";
}

关于PHP foreach循环遍历多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2783812/

相关文章:

php - 如何让用户限制下载?

loops - 迭代 Lua Torch 中的目录

php - 找到 foreach() 循环的最后一个条目,内爆不起作用

php - 使用 Zend Http 请求和响应检索 SSL 证书

php隐藏所有错误

php - 无法多次打开 jquery 对话框

IOS - 限制用户最多选择 8 个图像并使用 For 循环将多个图像上传到 Firebase

python - 如何对字符串进行数学运算?

java - 如何在jsp中迭代多重映射值

arrays - POWERSHELL Foreach - 多维数组返回字符串而不是数组