我有一个多维数组,我希望在其中插入一个带有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' => '',
),
)
);
我怎么能做这种事?
答案 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] =>
)
)
)