首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将一个值作为数组的元素插入到2d数组中

将一个值作为数组的元素插入到2d数组中
EN

Stack Overflow用户
提问于 2017-09-13 01:48:18
回答 1查看 28关注 0票数 1

目前,我有一个2d数组,基本如下所示:

代码语言:javascript
复制
$oriArr = array(
  [0]=>array(
     '1'=>'a',
     '2'=>'b',
     '3-1'=>'c',
     '4-1'=>'d',
     '3-2'=>'c1',
     '4-2'=>'d1' 
  ),
  [1]=>array(
     '1'=>'a',
     '2'=>'b',
     '3-1'=>'c',
     '4-1'=>'d',
     '3-2'=>'c1',
     '4-2'=>'d1', 
     '3-3'=>'c2',
     '4-3'=>'d2'
  ),
);

我希望通过添加如下新元素将数组拆分为3d数组:

代码语言:javascript
复制
$resArr= array(
      [0]=>array(
         [1]=>'a',
         [2]=>'b',
         ['items']=>array(
           [1]=>array(
              '3-'=>'c',
              '4-'=>'d',
           ),
           [2]=>array(
              '3-'=>'c1',
              '4-'=>'d1',
            )
         ),        
      ),
      [0]=>array(
         [1]=>'a',
         [2]=>'b',
         ['items']=>array(
           [1]=>array(
              '3-'=>'c',
              '4-'=>'d',
           ),
           [2]=>array(
              '3-'=>'c1',
              '4-'=>'d1',
            ),
           [3]=>array(
              '3-'=>'c2',
              '4-'=>'d2',
            )
         ),        
      ),
    );

我试图用'-‘分割所有的键,并将它们添加到另一个数组中,但是我不知道如何添加一个名为'items’的新元素并将值插入其中。

代码语言:javascript
复制
foreach($oriArr as $lines){            
   foreach($lines as $keys){
     $keyArr= array();                   
     if (strpos($keys, '-') !== false) {
           $keyArr[] = $keys;
     } 
   }             
}  

有什么方法可以分割我的原始数组吗?任何答案都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-13 02:17:17

你必须这样做:-

代码语言:javascript
复制
$final_array = array();
foreach($oriArr as $key=>$oriAr){
  $items  = array();
  foreach($oriAr as $k=>$oriA){
      $exploded_key = explode('-',$k);
      if(count($exploded_key) ==2){
         $items['items'][$exploded_key[1]][$exploded_key[0].'-'] = $oriA;
      }else{
       $items[$k]=$oriA;
      }
  }
  $final_array[$key] = $items;
}

print_r($final_array);

输出:-https://eval.in/860368

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46187632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档