将数组中的数组移动到父数组php中


Move array in array to parent array php

是否有一个特定的函数将数组中的数组作为键或值移动到父数组中

array(5) { [0]=> array(1) { [0]=> string(2) "id" } [1]=> array(1) { [0]=> string(7)
"buydate" } [2]=> array(1) { [0]=> string(6) "expire" } [3]=> array(1) { [0]=> string(6) 
"planid" } [4]=> array(1) { [0]=> string(5) "buyer" } } 

我想得到的结果是:

array() { [0] => 'id', [1] => 'buydate' etc. }

array('id', 'buydate' etc.. )

array_map()功能非常强大,应该可以做到这一点:

$array = ... ; // your initial array
$flattened_array = array_map(function($item) {
    return $item[0];
}, $array);

如果您想要平整化所需的数组,并使用foreach,您可以这样做。

考虑这个例子:

// Sample data:
$values = array(
    0 => array(
        0 => 'id',
    ),
    1 => array(
        0 => 'buydate',
    ),
    2 => array(
        0 => 'expire',
    ),
    3 => array(
        0 => 'planid',
    ),
    4 => array(
        0 => 'buyer',
    ),
);
$new_values = array();
foreach($values as $key => $value) {
    $new_values[] = $value[0];
}

print_r($new_values);
样本输出:

Array
(
    [0] => id
    [1] => buydate
    [2] => expire
    [3] => planid
    [4] => buyer
)

或者,您也可以将iterator删除。考虑这个例子:

$new_values = array();
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($values));
foreach($iterator as $value) {
    $new_values[] = $value;
}

它应该给你相同的输出