Есть массив:
$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
будет ссылаться на элемент массива.
Виртуальный выделенный сервер (VDS) становится отличным выбором
все ли я правильно делаю? Сервер куда я отправляю - не пускает меняЕсть подозрение, что либо x-auth-key не доходит, либо POST запросы
На сайте настроил корзину WC, прописал недостающие составляющие для формирования ценыПри оформлении заказа цены отображаются корректно,...
Использовал docker (laradock) при создании форума на laravel 58
Суть задачи: при запросе на сервер надо отправить 1 сообщение сразу, еще одно через 10 секунд и потом еще 1 еще через 10 секунд