2013-04-03 5 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 Еогеасп & 1 цикл, так что я могу получить каждое значение даты я сделал, как этот

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

Это необходимо загрузить даты в массив, отсортированный по имени проблемы. Вы можете выполнить их для дальнейшей обработки.

$dates= array(); 
foreach ($gResultbyName AS $events){ 
    foreach ($events['items'] AS $item){ 
     $dates[$item['issue_name']][] = $item['date']; 
    } 
} 
var_dump($dates); 
Смежные вопросы