我有一个多维数组$md_array,我想添加更多的元素到子数组recipe_type和cuisine来自从表中读取数据的循环。
在循环中,我为每一行创建一个新表$newdata:
$newdata = array (
'wpseo_title' => 'test',
'wpseo_desc' => 'test',
'wpseo_metakey' => 'test'
);
然后,使用array_push()
,我需要将$newdata数组附加到以下多维数组:
$md_array= array (
'recipe_type' =>
array (
18 =>
array (
'wpseo_title' => 'Salads',
'wpseo_desc' => 'Hundreads of recipes for Salads',
'wpseo_metakey' => ''
),
19 =>
array (
'wpseo_title' => 'Main dishes',
'wpseo_desc' => 'Hundreads of recipes for Main dishes',
'wpseo_metakey' => ''
)
),
'cuisine' =>
array (
22 =>
array (
'wpseo_title' => 'Italian',
'wpseo_desc' => 'Secrets from Sicily in a click',
'wpseo_metakey' => ''
),
23 =>
array (
'wpseo_title' => 'Chinese',
'wpseo_desc' => 'Oriental dishes were never this easy to make',
'wpseo_metakey' => ''
),
24 =>
array (
'wpseo_title' => 'Greek',
'wpseo_desc' => 'Traditional Greek flavors in easy to make recipies',
'wpseo_metakey' => ''
)
)
);
添加一个新的元素(数组)到recipe_type数组与array_push的语法是什么?
如果你想在关联数组中按自增顺序添加数据,你可以这样做:
$newdata = array (
'wpseo_title' => 'test',
'wpseo_desc' => 'test',
'wpseo_metakey' => 'test'
);
// for recipe
$md_array["recipe_type"][] = $newdata;
//for cuisine
$md_array["cuisine"][] = $newdata;
这将被添加到食谱或烹饪取决于什么是最后一个索引。
数组push通常用于顺序索引:$arr[0], $ar[1]..不能直接在关联数组中使用。但由于子数组有这种索引你仍然可以像这样使用
array_push($md_array["cuisine"],$newdata);
在多维数组中,项是另一个数组,因此指定该值的索引为array_push:
array_push($md_array['recipe_type'], $newdata);
我知道这个话题很老了,但我只是在谷歌搜索后才发现它,所以…下面是另一个解决方案:
$array_merged = array_merge($array_going_first, $array_going_second);
这个对我来说似乎很干净,它工作得很好!
我用这个得到了它,代码非常干净$array_merge ($array_going_first, $array_going_second);