簡體   English   中英

PHP遞歸函數可向多維數組的每個級別添加新元素

[英]PHP recurrsive function to add new element to each level of an multidimensional array

使用PHP向多維數組的每個“級別”添加新索引怎么可能?

例如,對於以下數組:

$array = array(
    'a' => 'a val',
    'b' => array(
        'ba' => 'ba value',
        'bb' => array(
            'bba' => 'bba value'
        ),
        'bc' => 'bc value'
    ),
    'c' => 'c val',
    'd' => 'd val'
);

...將變成:

$array = array(
    'a' => 'a val',
    'b' => array(
        'ba' => 'ba value',
        'bb' => array(
            'bba' => 'bba value',
            'new index' => 'new index value'
        ),
        'bc' => 'bc value',
        'new index' => 'new index value'
    ),
    'c' => 'c val',
    'd' => 'd val',
    'new index' => 'new index value'
);

提前致謝,
影片名稱

function addIndex($arr){
  if(!is_array($arr)){ return; }
  foreach($arr as &$a){
    if(is_array($a)){
      $a = addIndex($a);
    }
  }
  $arr['new index'] = 'new index value';
  return $arr;
}

來自phpdeveloper的更正函數

function addIndex($arr){
  if(!is_array($arr)){ return; }
  foreach($arr as &$a){
    if(is_array($a)){
      $a = addIndex($a);
    }
  }
  $arr['new index'] = 'new index value';
  return $arr;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM