简体   繁体   English

循环多维PHP数组

[英]Loop Multidimensional PHP arrays

Hello I am having hard time looping through the PHP multidimensional array, I want to know the best possible way of looping an array. 您好,我很难遍历PHP多维数组,我想知道循环数组的最佳方法。 This is the current array that I am trying to loop through. 这是我要遍历的当前数组。

Array
(
    [bathroom] => Array
        (
            [name] => Bathroom
            [things] => Array
                (
                    [0] => Array
                        (
                            [name] => Cheval Mirrow
                            [cubic] => .14
                            [quantity] => 1
                        )

                    [1] => Array
                        (
                            [name] => Carton/Wine
                            [cubic] => .07
                            [quantity] => 1
                        )

                    [2] => Array
                        (
                            [name] => Carton/picture
                            [cubic] => .07
                            [quantity] => 1
                        )


                )

        )

)

I have tried this code 我已经尝试过此代码

$keys = array_keys($array);
for($i = 0; $i < count($array); $i++) {
    echo $keys[$i] . "<br>";
    foreach($array[$keys[$i]] as $key => $value) {
        echo $key . " : " . $value . "<br>";

        foreach($array[$value[$i]] as $key1 => $value1){

            echo $key1.":". $value1."<br>";
        }


    }
    echo "<br>";
}

I am able to get the first value now the issues is that I am not able to get the values of things array, I am getting error on this, can someone tell me where I am getting wrong on this. 我现在能够获得第一个值,问题是我无法获得事物数组的值,我在此上出错,有人可以告诉我我在哪里上错了。

Here's an example of how you can process your array: 这是一个如何处理数组的示例:

foreach ($array as $key => $value) {
    echo "$key:<br>\n";
    echo "    name: {$value['name']}<br>\n";
    foreach ($value['things'] as $t => $thing) {
        echo "\tthing $t:<br>\n";
        foreach ($thing as $name => $val) {
            echo "\t    $name: $val<br>\n";
        }
    }
}

Output: 输出:

bathroom:<br>
  name: Bathroom<br>
  thing 0:<br>
    name: ChevalMirrow<br>
    cubic: 0.14<br>
    quantity: 1<br> 
  thing 1:<br> 
    name: Carton/Wine<br>
    cubic: 0.07<br>
    quantity: 1<br>
  thing 2:<br>
    name: Carton/picture<br>
    cubic: 0.07<br>
    quantity: 1<br>

Demo on 3v4l.org 3v4l.org上的演示

foreach ($orginalarray as $key1 => $value1){
    foreach ($value1 as $key2 => $value2) {
        foreach ($value2 as $key3 => $value3) {  
            foreach ($value3 as $key3 => $value3) { 

            } 
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM