2014-09-25 65 views
0

我有一个多维数组中此格式偏移数组

[0] => Array 
    (
     [0] => Supplier 
     [1] => Supplier Ref 
    ) 

基本上,我需要抵消在开始一个新的领域每一个阵列,这样的结果应该是:

[0] => Array 
    (
     [0] => New Field 
     [1] => Supplier 
     [2] => Supplier Ref 
    ) 

如果我可以使用for/foreach运行每个数组的循环,那么这将是很好的,但我正在努力寻找一个这样做的好方法。有任何想法吗?

感谢

+0

['array_unshift()'](http://php.net/manual/en/function .array-unshift.php)'array_unshift - 将一个或多个元素添加到数组的开头 - >'$ array = array_unshift($ array,'New Field');' – Sean 2014-09-25 16:31:59

+0

^^^在循环的上下文中: 'foreach($ outer_array as&$ inner_array){array_unshift($ inner_array,'New Field'); }'...注意'&'参考... – 2014-09-25 16:36:23

回答

2

我能想到三种简单方式

  1. 使用一个简单的foreach和array_unshift

    foreach($arr as &$item) { 
        array_unshift($item, 'new field'); 
    } 
    
  2. 使用array_walk申请array_unshift每个数组项(将修改现有的阵列)

    array_walk($array, function(&$item) { array_unshift($item, 'new field'); }); 
    
  3. 使用array_map和array_uns HIFT(将返回一个新的数组 - 但原始数组内的阵列,这仍然会修改)

    array_map(function(&$item) { 
        array_unshift($item, 'new field'); return $item; 
    }, $array); 
    
0

您可以使用array_unshift()数组php内偏移array。它将一个或多个元素添加到数组的开头。