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