当前位置:Gxlcms > PHP教程 > php将$arr二维数组的所有第二层合并后返回

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

时间:2021-07-01 10:21:17 帮助过:11人阅读

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. ?>

人气教程排行