如何在php中处理这个数组

时间:2014-05-23 13:25:15

标签: php arrays multidimensional-array

我没有得到如何管理这个数组。

Array ( 
    [Event] => Array ( 
        [0] => Array ( 
            [Date] => DateTime 
            [Description] => test 
            [CurrentValue] => 31/12/2010 
        ) 
        [1] => Array ( 
            [Date] => DateTime 
            [Description] => test 
            [PreviousValue] => 1 
            [CurrentValue] => 2 
        )
    )
)

3 个答案:

答案 0 :(得分:1)

这是一个多维数组。如果通过句柄来表示访问其中的数据,您只需使用更多的方括号来指定您的意思:

echo $yourArray['event'][0]['CurrentValue'];

输出:

  

31/12/2010

等等。

如果通过句柄你的意思是插入数据,那就是一样的。

运行foreach时,它将从最外层数组中获取元素。这意味着如果要进一步检查元素,则必须嵌套foreach语句或以递归方式调用函数以获取最底层的数组数据。

答案 1 :(得分:1)

PHP中的多维数组可以通过以下方式处理。你的是一个3D。

$array['Event'][0]['Date']会给你Datetime(描述),即test

要获取数据,您需要使用嵌套的foreach循环。

例如,一个外部循环Event..依此类推,然后再循环一个循环,然后又一次循环。

答案 2 :(得分:0)

使用嵌套for循环。

demo

  foreach($your_array as $k =>$v){ //main array
        foreach($v as $k1 =>$v1){ //event array
          foreach($v1 as $k2 =>$v2){ //event sub array
          echo "key: " .$k2 ." value: ". $v2."\n";
        }     
        }
    }

节目输出

key: Date value:  DateTime
key: Description value:  test 
key: CurrentValue value:  31/12/2010
key: Date value: DateTime
key: Description value:  test
key: PreviousValue value:  1 
key: CurrentValue value: