【问题标题】:offset array within array php数组php中的偏移数组
【发布时间】:2014-09-26 00:38:55
【问题描述】:

我有一个这种格式的多维数组

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

我基本上需要在开始时用一个新字段来偏移每个数组,所以结果应该是:

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

如果我可以使用 for/foreach 在每个数组中运行一个循环,那就太好了,但我正在努力寻找一种好的方法来做到这一点。有什么想法吗?

谢谢

【问题讨论】:

  • array_unshift() array_unshift — Prepend one or more elements to the beginning of an array -> $array = array_unshift($array,'New Field');
  • ^^^在你的循环上下文中:foreach ($outer_array as &$inner_array) { array_unshift($inner_array, 'New Field'); } ...注意&参考...

标签: php arrays


【解决方案1】:

我能想到三种简单的方法

  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_unshift (将返回一个新数组 - 但原始数组中的数组仍然会被修改)

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多