PHP使用array_push将元素添加到multidimensional array中

我有一个multidimensional array$ md_array,我想添加更多的元素到子数组recipe_type和美食来自从表读取数据的循环。

在循环中,我为每一行创build一个新的表$ newdata:

$newdata = array ( 'wpseo_title' => 'test', 'wpseo_desc' => 'test', 'wpseo_metakey' => 'test' ); 

然后,使用array_push()我需要追加$ newdata数组到以下multidimensional array:

 $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' => '' ) ) ); 

什么是用array_push添加一个新的元素(数组)到recipe_type数组的语法? 我永远无法绕过多维arrays,我有点困惑。

如果你想在你的关联数组里增加数据,你可以这样做:

 $newdata = array ( 'wpseo_title' => 'test', 'wpseo_desc' => 'test', 'wpseo_metakey' => 'test' ); // for recipe $md_array["recipe_type"][] = $newdata; //for cuisine $md_array["cuisine"][] = $newdata; 

这将被添加到食谱或美食取决于什么是最后的指数。

当你有顺序索引时,数组通常被用在数组中:$ arr [0],$ ar [1] ..你不能直接在关联数组中使用它。 但是由于你的子数组有这样的索引,你仍然可以像这样使用它

 array_push($md_array["cuisine"],$newdata); 

如在multidimensional array中,一个条目是另一个数组,请指定该值的索引到array_push:

 array_push($md_array['recipe_type'], $newdata);