У меня есть многомерный массив $ md_array, и я хочу добавить больше элементов в sub-arrays recipe_type и кухню, исходящую из цикла, который считывает данные из таблицы.
В цикле я создаю новую таблицу $ 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;
это добавится в рецепт или кухню в зависимости от того, что было последним индексом.
Вывод массива обычно используется в массиве, когда у вас есть последовательный индекс: $ arr [0], $ ar [1] .. вы не можете использовать его в ассоциативном массиве напрямую. Но поскольку ваш вспомогательный массив имеет такой индекс, вы все равно можете его использовать
array_push($md_array["cuisine"],$newdata);
Как и в многомерном массиве, запись представляет собой другой массив, укажите индекс этого значения в array_push:
array_push($md_array['recipe_type'], $newdata);