Есть массив:
$test = [
0 => [
'id' => 1,
'name' => 'test'
],
1 => [
'id' => 2,
'name' => 'test'
]
];
И простая переборка foreach
с попыткой добавить в массив ключ со значением
foreach($test as $t) {
$t['test'] = 'add';
}
Почему таким образом в массив не добавляется ключ? Рабочий вариант найден, просто интересно знать почему первый вариант не работает
foreach($test as $key => $t) {
$test[$key]['test'] = 'add';
}
foreach($test as $t) {
$t['test'] = 'add';
}
Потому что тут при переборе новый элемент записывается в переменную $t
(как-бы создается новый независимый элемент). Если вы хотите его изменять, нужно просто указать чтобы $t
использовала ссылку на элемент массива, вот так:
foreach($test as &$t) {
$t['test'] = 'add';
}
Тогда переменная $t
будет ссылаться на элемент массива.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
все ли я правильно делаю? Сервер куда я отправляю - не пускает меняЕсть подозрение, что либо x-auth-key не доходит, либо POST запросы
На сайте настроил корзину WC, прописал недостающие составляющие для формирования ценыПри оформлении заказа цены отображаются корректно,...
Использовал docker (laradock) при создании форума на laravel 58
Суть задачи: при запросе на сервер надо отправить 1 сообщение сразу, еще одно через 10 секунд и потом еще 1 еще через 10 секунд