Intereting Posts
сжать / архивировать папку с помощью php-скрипта Сбрасывать таймер каждые 30 дней? Ошибка phpmailer "Не удалось создать почтовую функцию" Заполнение формы HTML-формы с помощью запроса mySQL Wakeserver cakephp 1.3 Строгая стандартная ошибка «Ошибка 404 не найдена» в Magento Admin Login Page Зачем использовать единую страницу index.php для всего сайта? как я могу написать окно предупреждения javascript, чтобы задать вопрос «да» или «нет» и интегрироваться с вызовами php? Редактирование vbscript при циклическом перемещении по пути к папке – PHP Добавление и доступ к идентификаторам кнопок в таблице, сгенерированной PHP В PHP почему мои переменные сеанса сохраняются в качестве ссылок? PHP: как переносить переменную в модальном URL-адресе Как получить intellisense для индекса ассоциативного массива PHP? Как вставить HTML-форму в базу данных MySQL? Как запретить MySQL обновлять столбец с пустой строкой?

PHP добавляет элементы в многомерный массив с помощью массива array_push

У меня есть многомерный массив $ 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);