#php #arrays
#php #массивы
Вопрос:
Я пытаюсь вставить переменные в массив, используя цикл foreach. Это цикл foreach, который я пытаюсь реализовать с
foreach($rows as amp;$url) {
$link = array("url");
array_push($url, "hello World");
}
И это результат, который я получаю.
Array
(
[0] => Array
(
[cat_id] => 1
[id] => RT
[name] => root
[parent] => 0
[0] => hello World
)
[1] => Array
(
[cat_id] => 2
[id] => CI
[name] => Civil amp; Interior Works
[parent] => 1
[0] => hello World
)
)
но я бы хотел, чтобы результат был таким.
Array
(
[0] => Array
(
[cat_id] => 1
[id] => RT
[name] => root
[parent] => 0
[url] => hello World
)
[1] => Array
(
[cat_id] => 2
[id] => CI
[name] => Civil amp; Interior Works
[parent] => 1
[url] => hello World
)
)
Если я передам переменную $link = array("url");
в array_push($link, "hello World");
, ничего не произойдет.
если я удалю ссылку из foreach($rows as amp;$url)
, цикл вообще не будет работать. Пожалуйста, посоветуйте.
Ответ №1:
Просто добавьте значение под требуемым ключом:
foreach($rows as amp;$row) {
$row['url'] = "hello World";
}
Комментарии:
1. спасибо, что сработало… значит, array_push не требовался??
2.
array_push
добавляет элемент в конец массива, его не волнуют ключи. Если вам нужен конкретный ключ — используйте['key']
синтаксис.3. Я кое-что заметил… если я использую
amp;$row
ссылку … Я теряю один цикл … последний вставленный элемент не извлекается.4. Создайте пример вашего кода и задайте новый вопрос.