Heim  >  Artikel  >  Backend-Entwicklung  >  php将$arr 二维数组的所有第二层合并后返回

php将$arr 二维数组的所有第二层合并后返回

WBOY
WBOYOriginal
2016-07-25 09:07:01864Durchsuche
php将$arr 二维数组的所有第二层合并后返回

array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
但是只能合并第一层,却无法合并二级数组的二维部分
我写了点代码,感觉很不好,希望高手指更好的方法


  1. $arr=array(
  2. "0" => array(
  3. "44" => array("id" => 44,"name" => '九鱼图'),
  4. "45" => array("id" => 45,"name" => '锦鲤')
  5. ),
  6. "1" => array(
  7. "49" => array("id" => 49,"name" => '百福图'),
  8. "50" => array("id" => 50,"name" => '蝙蝠')
  9. ),
  10. "2" => array(
  11. "40" => array("id" => 40,"name" => '古钱'),
  12. "41" => array("id" => 41,"name" => '葫芦')
  13. )
  14. );
  15. //将$arr 二维数组的所有第二层合并后返回
  16. function array_merge_array($arr)
  17. {
  18. $str="$"."son_arr=array_merge(";
  19. foreach($arr as $k => $v)
  20. {$str.='$arr['.$k.'],';}
  21. $str.=");";
  22. eval(str_replace(',)',')',$str));
  23. return $son_arr;
  24. }
  25. print_r(array_merge_array($arr));
  26. /*
  27. 得到结果
  28. Array
  29. (
  30. [0] => Array
  31. (
  32. [id] => 44
  33. [name] => 九鱼图
  34. )
  35. [1] => Array
  36. (
  37. [id] => 45
  38. [name] => 锦鲤
  39. )
  40. [2] => Array
  41. (
  42. [id] => 49
  43. [name] => 百福图
  44. )
  45. [3] => Array
  46. (
  47. [id] => 50
  48. [name] => 蝙蝠
  49. )
  50. [4] => Array
  51. (
  52. [id] => 40
  53. [name] => 古钱
  54. )
  55. [5] => Array
  56. (
  57. [id] => 41
  58. [name] => 葫芦
  59. )
  60. )
  61. */
  62. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn