php - 在多维数组中插入一个数组

时间:2015-03-13 19:51:30

标签: php arrays multidimensional-array insert

我有一个多维数组,我希望在其中插入一个带有var数组的其他数组。

我的目标是使用if语句插入一些元素数组。实际上我想构建一种条件数组。

这是一个例子

$inserted_array[] = array( 
    'name' => 'name',
    'desc' => 'a description',
    'id' => 'an id',
    'type' => 'image',
    'std' => '',
);
$inserted_array[] = array(
    'name' => 'name',
    'desc' => 'a description',
    'id' => 'an id',
    'type' => 'image',
    'std' => '',
);

$main_arrays[] = array(
    'id'    => '1234',
    'title' => 'a title',
    'icon'  => 'icon-1',
    'fields' => array(
        array( 
            'name' => 'name',
            'desc' => 'a description',
            'id' => 'an id',
            'type' => 'image',
            'std' => '',
        ),
        //$inserted_array here for example
        array(
            'name' => 'name',
            'desc' => 'a description',
            'id' => 'an id',
            'type' => 'image',
            'std' => '',
        ),
    )
);

我怎么能做这种事?

2 个答案:

答案 0 :(得分:1)

如果您想将$inserted_array插入到$main_arrays[]['fields]的{​​{1}}

您可以使用array_splice功能

来实现
$position

array_splice($main_arrays[$index]['fields'], $position, 0, $inserted_array); 是您要插入$index

$main_arrays索引

$inserted_array是您想要插入阵列

的位置

答案 1 :(得分:-1)

我相信你想要的是:

$mainID = 1234;
$main_arrays[$mainID] = array(
    'title' => 'a title',
    'icon'  => 'icon-1',
    'fields' => array()
);

$main_arrays[$mainID]["fields"][] = array( 
    'name' => 'nameA',
    'desc' => 'a description',
    'id' => 'an id',
    'type' => 'image',
    'std' => '',
);


$main_arrays[$mainID]["fields"][] = array(
    'name' => 'nameB',
    'desc' => 'a description',
    'id' => 'an id',
    'type' => 'image',
    'std' => '',
);


foreach($main_arrays as $id => $inserted_array) {
    print("ID: ".$id."\n");
    print_r($inserted_array);
}

输出:

   ID: 1234
    Array
    (
        [title] => a title
        [icon] => icon-1
        [fields] => Array
            (
                [0] => Array
                    (
                        [name] => nameA
                        [desc] => a description
                        [id] => an id
                        [type] => image
                        [std] => 
                    )

                [1] => Array
                    (
                        [name] => nameB
                        [desc] => a description
                        [id] => an id
                        [type] => image
                        [std] => 
                    )

            )

    )