如何在PHP中创建一个多维数组?

时间:2016-08-20 21:25:22

标签: php arrays multidimensional-array array-merge

我正在尝试创建一个多维数组。

  $a = array(
        array(
            '1' => 'One',
            '2' => 'two'
        ),
        array(
            '3' => 'three',
            '4' => 'four'
        )
    );

    $query_array = array();
    foreach( $meta_keys as $meta_key ) {
        $query_ = array();
        foreach( $meta_key as $key ) {
            $query_['key1'] = 'val1';
            $query_['key2'] = 'val2';
            $query_['key3'] = $meta_key;    
        }
        array_push( $query_array, $query_ );
    }

那就是我在努力。但没有运气。

我想要一个数组,以便它如下所示......

 $query_array = array(
    array(
        'key1'  => 'val1',
        'key2'  => 'val2',
        'key3'  => 'one' //only change here
    ),
    array(
        'key1'  => 'val1',
        'key2'  => 'val2',
        'key3'  => 'two' //only change here
    ),
    array(
        'key1'  => 'val1',
        'key2'  => 'val2',
        'key3'  => 'three' //only change here
    )
  // Goes here same until the first $a value is end.
);

我在array_merge()循环中以不同的方式使用了array_combine()foreach函数。但没有结果。结果很糟糕。

那我怎么能在php中做到这一点? 感谢

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效:

$res = [];
array_walk_recursive($a, function($item) use ($res, $b){
    $b["key3"] = $item;
    res[] = $b;
});

未经测试。