2013-04-03 73 views
0

我有这样的数组。该阵列是动态创建如何迭代多维数组?

Array 
(
    [Data NotUploading] => Array 
    (
     [items] => Array 
      (
       [0] => Array 
        (
         [date] => 2013-04-02 
         [issue_id] => 1 
         [phone_service_device] => A 
         [phone_service_model] => 
         [phone_service_os] => 
         [phone_service_version] => 
         [issue_name] => Data NotUploading 
        ) 

       [1] => Array 
        (
         [date] => 2013-04-02 
         [issue_id] => 1 
         [phone_service_device] => I 
         [phone_service_model] => 
         [phone_service_os] => 
         [phone_service_version] => 
         [issue_name] => Data NotUploading 
        ) 



      ) 

    ) 

[Battery Problem] => Array 
    (
     [items] => Array 
      (
       [0] => Array 
        (
         [date] => 2013-04-03 
         [issue_id] => 3 
         [phone_service_device] => I 
         [phone_service_model] => 
         [phone_service_os] => 
         [phone_service_version] => 
         [issue_name] => Battery Problem 
        ) 

      ) 

    ) 
) 

我需要做的是使用2 foreach或1的foreach & 1 for循环,这样我可以得到最新的每个值我不喜欢这个

foreach($gResultbyName as $key1 => $rec){ 
     for($j = 0;$j<count($rec);$j++){ 
      echo $rec['items'][$j]['date']; 
     } 
    } 

但其唯一检索2013-04-02 & 2013-04-03即0索引数据日期NotUploading & 0电池问题索引日期。基本上我需要比较每个值和其他的东西,但我不能得到每个日期值。

请原谅我的无知,但我尝试了很多:(

回答

3

试试这个:

foreach ($data as $d) 
{ 
    foreach($d['items'] as $item) 
    { 
     echo $item['date']; 
    } 
} 
2

您的循环回路count($rec)倍,而应该count($rec['items'])

2

这应该加载日期进入一个按照issue_name排序的数组,你可以通过它们进行进一步处理

$dates= array(); 
foreach ($gResultbyName AS $events){ 
    foreach ($events['items'] AS $item){ 
     $dates[$item['issue_name']][] = $item['date']; 
    } 
} 
var_dump($dates);