国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 數組合并根據分類重新合并

2024-09-04 11:45:56
字體:
來源:轉載
供稿:網友

在php中如果是簡單的數組合并有很多的方法,但是我今天要求是根據數組ID然后重新合并數組,是要根據分類來操作。

最簡單的數組合并我們只要使用array_merge即可,array_merge()將兩個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的后面,返回作為結果的數組。

數組鍵名為數字鍵名時,要合并的兩個數組中有同名數字KEY的時候,使用array_merge()不會覆蓋掉原來的值,而使用“+”合并數組則會把最先出現的值作為最終結果返回,而把后面的數組擁有相同鍵名的那些值“拋棄”掉(注意:不是覆蓋而是保留最先出現的那個值),例子代碼如下:

  1. $array1 = array(1=>'0'); 
  2.   $array2 = array(1=> "data"); 
  3.      $result1 = $array2 + $array1;/*結果為$array2的值*/ 
  4.     print_r($result); 
  5.     $result = $array1 + $array2 ;/*結果為$array1的值*/ 
  6.     print_r($result); 
  7.     $result3 = array_merge($array2,$array1);/*結果為$array2和$array1的值,鍵名被重新分配*/ 
  8.     print_r($result3); 
  9.     $result4 = array_merge($array1,$array2);/*結果為$array1和$array2的值,鍵名被重新分配*/ 
  10.     print_r($result4); 
  11. 輸出結果為: 
  12. Array ( [1] => data ) 
  13. Array ( [1] => 0 ) 
  14. Array ( 
  15. [0] => data 
  16. [1] => 0 
  17. Array 
  18. [0] => 0 
  19. [1] => data 

當相同數組鍵名為字符時,“+”運算符與鍵名為數字時一樣,但array_merge()此時會覆蓋掉前面相同鍵名的值。

例子代碼如下:

  1. $array1 = array('asd'=>'0'); 
  2.   $array2 = array('asd' => "data"); 
  3.   $result1 = $array2 + $array1;/*結果為$array2的值*/ 
  4.   print_r($result); 
  5.     $result = $array1 + $array2 ;/*結果為$array1的值*/ 
  6.     print_r($result); 
  7.     $result3 = array_merge($array2,$array1);/*結果為$array1*/ 
  8.     print_r($result3); 
  9.     $result4 = array_merge($array1,$array2);/*結果為$array2*/ 
  10.     print_r($result4); 
  11. /* 
  12. 輸出結果為: 
  13. Array ( [asd] => data ) 
  14. Array ( [asd] => 0 ) 
  15. Array ( [asd] => 0 ) 
  16. Array ( [asd] => data ) 
  17. */ 

講了這么多費話,下面才是我要給各位朋友介紹的.例,根據分類字段進行數組重組,代碼如下:

  1. <?php  
  2. //需要重組的數組  
  3. $arrar=array();  
  4. $array[]=array('ItemID' => 110126866896,'CategoryID'=>111);  
  5. $array[]=array('ItemID' => 120126866896,'CategoryID'=>112);  
  6. $array[]=array('ItemID' => 130126866896,'CategoryID'=>113);  
  7. $array[]=array('ItemID' => 140126866896,'CategoryID'=>114);  
  8. $array[]=array('ItemID' => 150126866896,'CategoryID'=>115);  
  9. $array[]=array('ItemID' => 160126866896,'CategoryID'=>116);  
  10. $array[]=array('ItemID' => 170126866896,'CategoryID'=>117);  
  11. $array[]=array('ItemID' => 118126866896,'CategoryID'=>111);  
  12. $array[]=array('ItemID' => 121126866896,'CategoryID'=>112);  
  13. $array[]=array('ItemID' => 132126866896,'CategoryID'=>113);  
  14. $array[]=array('ItemID' => 143126866896,'CategoryID'=>114);  
  15. $array[]=array('ItemID' => 154126866896,'CategoryID'=>115);  
  16. $array[]=array('ItemID' => 165126866896,'CategoryID'=>116);  
  17. $array[]=array('ItemID' => 176126866896,'CategoryID'=>117);  
  18. //數組根據分類進行重組  
  19. $newArray=array();  
  20. foreach($array as $val){  
  21.     $newArray[$val['CategoryID']][]=$val;  
  22. }  
  23.    
  24. //刪除原始數組釋放空間  
  25. $array=null;  
  26. unset($array);  
  27. print_r($newArray);  
  28. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西昌市| 马鞍山市| 腾冲县| 增城市| 宁明县| 合江县| 海口市| 安新县| 周至县| 宁城县| 龙里县| 黄陵县| 曲阜市| 饶平县| 疏附县| 临西县| 博野县| 九寨沟县| 五指山市| 武定县| 项城市| 五原县| 大埔县| 栾城县| 易门县| 化德县| 吉安市| 新竹市| 古交市| 黄山市| 临泉县| 蕲春县| 洛阳市| 岳阳县| 许昌县| 太原市| 双辽市| 华容县| 涟源市| 芦山县| 普兰县|