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

php - Insert an array inside a multidimensionnal 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' => '',
        ),
    )
);

我怎么能做这种事?

如果您想在给定的 $position

处将 $inserted_array 插入 $main_arrays[]['fields]

可以使用array_splice函数实现

array_splice($main_arrays[$index]['fields'], $position, 0, $inserted_array);

$index 是要插入 $inserted_array

$main_arrays 索引

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

            )

    )