PHP는 $arr 2차원 배열을 병합한 후 두 번째 수준을 모두 반환합니다.

WBOY
풀어 주다: 2016-07-25 09:07:01
원래의
863명이 탐색했습니다.
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. ?>
复制代码


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿