删除父母或"包装"数组

时间:2018-06-15 19:18:10

标签: php arrays

好吧,我已经做了一些广泛的搜索,我无法让它正常工作......所以我来寻求一些帮助。我所拥有的是一个我从foreach循环创建的数组:

foreach ( $things as $thing ) :
    $the_array[] = array(
        'field1' => 'value1',
        'field2' => 'value2',
        'field3' => $thing
    );
endforeach;

这给了我这个结果:

Array
(
    [0] => Array
       (
            [field1] => value1
            [field2] => value2
            [field3] => value3a
       )

    [1] => Array
       (
            [field1] => value1
            [field2] => value2
            [field3] => value3b
       )

)

如何获得此结果:

[0] => Array
   (
        [field1] => value1
        [field2] => value2
        [field3] => value3a
   )

[1] => Array
   (
        [field1] => value1
        [field2] => value2
        [field3] => value3b
   )

我将这些数组作为子项插入到另一个数组中。我有那个部分工作,只是由于包装数组我期望的结果。

我已经尝试手动将$the_array[0]$the_array[1]$the_array[2]$the_array[3]等放在另一个阵列中并且它可以正常工作,但我不会# 39;我想走这条路。有没有办法根据初始$things数组的计数单独打印出这些变量?

正如你所看到的,我只给出了两个结果作为例子。它们会有所不同。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果您的最终结果如下:

array(
    'existing_field' => 'existing_value',
    $the_array[0],
    $the_array[1],
    ...$the_array[n]
);

您可以使用for循环或只添加两个数组:

$other_array = array('existing_field' => 'existing_value');

// either this:
for ($i=0; $i<count($things); $i++) {
    $other_array[] = $the_array[$i];
}

// or this:
$other_array += $the_array;

这将为您提供您正在寻找的最终结果:

Array
(
    [existing_field] => existing_value
    [0] => Array
        (
            [field1] => value1
            [field2] => value2
            [field3] => value3a
        )

    [1] => Array
        (
            [field1] => value1
            [field2] => value2
            [field3] => value3b
        )

)