Foreach多维数组

时间:2015-08-09 08:49:04

标签: php arrays foreach

我从我创建的PHP脚本创建了以下输出:

Array
(
[cage] =>  OK
[logicaldrive] => Array
    (
        [logicaldrive 1] => Array
            (
                [size] => 2.7 TB
                [raid] => RAID 1
                [status] => OK
            )
    )

[physicaldrive] => Array
    (
        [logicaldrive 1] => Array
            (
                [physicaldrive 2I:1:1] => Array
                    (
                        [bay] => port 2I:box 1:bay 1
                        [type] => SATA
                        [size] => 3 TB
                        [status] => OK
                    )

                [physicaldrive 2I:1:2] => Array
                    (
                        [bay] => port 2I:box 1:bay 2
                        [type] => SATA
                        [size] => 3 TB
                        [status] => OK
                    )
            )

    )

我希望能够将这些数据格式化为表格,我已经尝试但无法在数组的某些部分上运行foreach循环,例如,如果我想要一个表来获取以下信息:

[logicaldrive] => Array
    (
        [logicaldrive 1] => Array
            (
                [size] => 2.7 TB
                [raid] => RAID 1
                [status] => OK
            )

    )

我无法知道如何在不知道密钥(逻辑驱动器1)的情况下获取大小,raid,状态的值,这取决于代码运行的系统每次都会有所不同。

1 个答案:

答案 0 :(得分:1)

试试这个......

$all_data; //your complete array

foreach($all_data as $key=>$sub_array){
   if($key === "logicaldrive"){
       foreach($sub_array as $key=>$sub_sub_array){
           echo $key;//logicaldrive 1
           foreach($sub_sub_array as $key=>$fact){
               echo '<td>'.$key.'='.$fact.'<td>';//size=2.7 TB,raid=RAID 1, status=OK
           }
       }
   }
}

显然你需要适当地包装td元素这只是一个让你使用逻辑的例子