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

php-在多维数组中插入数组,php,arrays,multidimensional-array,insert,Php,Arrays,Multidimensional Array,Insert,我有一个多维数组,我想在其中插入另一个带有var数组的数组 我的目标是用if语句插入一些元素数组。事实上,我想构建一种条件数组 这里有一个例子 $inserted_array[] = array( 'name' => 'name', 'desc' => 'a description', 'id' => 'an id', 'type' => 'image', 'std' => '', ); $inserted_array[]

我有一个多维数组,我想在其中插入另一个带有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' => '',
        ),
    )
);

我如何做这类事情?

如果要在给定的
$位置将
$inserted\u数组插入
$main\u数组[]['fields]

您可以通过使用函数来实现它

$index
是要插入
$inserted\u数组的
$main\u数组
索引


$position
作为您想要插入阵列的位置

我相信您想要的是:

$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] => 
                    )

            )

    )

谢谢你的回答。有没有办法选择插入阵列的位置,这是我的主要问题。顺便说一句,你的答案中有一个输入错误(字段)。我找到了我需要的php函数:array\u splice。@奇怪的是,我没有很好地理解你的问题,只是用array\u splice编辑了它,如果它能帮助某人:)
   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] => 
                    )

            )

    )