2017-09-27 70 views
0

我有多維數組, 我必須將具有相同ID的所有子數組分組。 我試圖用大塊,但它不工作大塊在php中具有相同值的所有數組


Array 
(
    [0] => Array 
     (
      [ID] => A11495 
      [CID] => 000020 
      [msgtype] => Periodic Report 
     ) 
    [1] => Array 
     (

      [ID] => A11495 
      [CID] => 000020 
      [msgtype] => Periodic Report 
     ) 
    [2] => Array 
     (
      [ID] => A11495 
      [CID] => 000020 
      [msgtype] => Periodic Report 
     ) 

    [3] => Array 
     (
      [ID] => A11496 
      [CID] => 000020 
      [msgtype] => Periodic Report 

     ) 
    ) 

期待輸出如下陣列

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [ID] => A11495 
        [CID] => 000020 
        [msgtype] => Periodic Report 
       ) 

      [1] => Array 
       (
        [ID] => A11495 
        [CID] => 000020 
        [msgtype] => Periodic Report 

       ) 

      [2] => Array 
       (
        [ID] => A11495 
        [CID] => 000020 
        [msgtype] => Periodic Report 
       ) 
     ) 
    [1] => Array 
     ( 
      [0] => Array 
       (
        [ID] => A11496 
        [CID] => 000020 
        [msgtype] => Periodic Report 
       ) 

      [1] => Array 
       (
        [ID] => A11496 
        [CID] => 000020 
        [msgtype] => Periodic Report 

       ) 
     )  
    ) 
+0

使用數組獨特的http:// php.net/manual/en/function.array-unique.php –

+0

你可以使用命名數組。循環通過陣列。爲每個數組檢查數組[Id]是否存在。將信息添加到該數組(array_push(array [id],info)如果不是用數據創建數組 –

回答

1

試一下這個喜歡:

<?php 
    $oldArray = array(); 
    $newArray = array(); 

    foreach($oldArray as $item){ 
     if(isset($newArray[$item['ID']])){ 
      array_push($newArray[$item['ID']], $item); 
     }else{ 
      $newArray[$item['ID']] = $item; 
     } 
    } 
?> 
相關問題