@remyfox

Отличие результатов цикла foreach. Как запомнить?

$output_array = [];

foreach ($array as $k => $v)
{
$output_array += [$k=>$v];
}


и

foreach ($array as $k => $v)
{
$output_array[] = [$k=>$v];
}


Почему в первом случае получается массив с ключами и их значениями, а во втором массив с массивами ключей и значений.

1. {"k":"v", "k":"v"}
2. [{"k":"v"}, {"k":"v"}]
  • Вопрос задан
  • 1998 просмотров
Решения вопроса 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
в первом случае ты объединяешь массивы, а во втором задаешь значение массива
Ответ написан
Комментировать
xISRAPILx
@xISRAPILx
Кратко не получится
Первый вариант сливает два массива (аналог array_merge), второй добавляет массив в массив.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dimkamonster
если есть желание получить такой же результат, как и в первом случае, то запись должна быть такой
$output_array[$k] = $v;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы