加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:合并/添加多维数组?

发布时间:2022-11-21 11:19:34 所属栏目:PHP教程 来源:
导读:  假设我有几个具有相同结构的多维数组,如下所示:

  $basketA['fruit']['apple'] = 1;
  $basketA['fruit']['orange'] = 2;
  $basketA['fruit']['bana
  假设我有几个具有相同结构的多维数组,如下所示:
 
  $basketA['fruit']['apple'] = 1;
  $basketA['fruit']['orange'] = 2;
  $basketA['fruit']['banana'] = 3;
  $basketA['drink']['soda'] = 4;
  $basketA['drink']['milk'] = 5;
  $basketB['fruit']['apple'] = 2;
  $basketB['fruit']['orange'] = 2;
  $basketB['fruit']['banana'] = 2;
  $basketB['drink']['soda'] = 2;
  $basketB['drink']['milk'] = 2
  我需要一种方法来合并它们,所以我会得到这个:
 
  $basketC['fruit']['apple'] = 3;
  $basketC['fruit']['orange'] = 4;
  $basketC['fruit']['banana'] = 5;
  $basketC['drink']['soda'] = 6;
  $basketC['drink']['milk'] = 7;
  真正的多维数组会更复杂,这只是为了帮助解释我需要的东西.
 
  谢谢!!!!
 
  解决方法:
 
  使用PHP的标准方法是不可能的,你应该编写自己的函数:
 
  码
 
  function readArray( $arr, $k, $default = 0 ) {
      return isset( $arr[$k] ) ? $arr[$k] : $default ;
  }
  function merge( $arr1, $arr2 ) {
      $result = array() ;
      foreach( $arr1 as $k => $v ) {
          if( is_numeric( $v ) ) {
              $result[$k] = (int)$v + (int) readArray( $arr2, $k ) ;
          } else {
              $result[$k] = merge( $v, readArray($arr2, $k, array()) ) ;
          }
      }
      return $result ;
  }
  测试
 
  $basketA = array( "fruit" => array(), "drink" => array() ) ;
  $basketA['fruit']['apple'] = 1;
  $basketA['fruit']['orange'] = 2;
  $basketA['fruit']['banana'] = 3;
  $basketA['drink']['soda'] = 4;
  $basketA['drink']['milk'] = 5;
  $basketB = array( "fruit" => array(), "drink" => array() ) ;
  $basketB['fruit']['apple'] = 2;
  $basketB['fruit']['orange'] = 2;
  $basketB['fruit']['banana'] = 2;
  $basketB['drink']['soda'] = 2;
  $basketB['drink']['milk'] = 2;
  $basketC = merge( $basketA, $basketB ) ;
  print_r( $basketC ) ;
  产量
 
  Array
  (
      [fruit] => Array
          (
              [apple] => 3
              [orange] => 4
              [banana] => 5
          )
      [drink] => Array
          (
              [soda] => 6
              [milk] => 7
          )
  )
  总结
 
  以上是编程之家为你收集整理的PHP:合并/添加多维数组?全部内容PHP多维数组,希望文章能够帮你解决PHP:合并/添加多维数组?所遇到的程序开发问题。
 
  如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!