Задать вопрос
@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"}]
  • Вопрос задан
  • 2000 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
в первом случае ты объединяешь массивы, а во втором задаешь значение массива
Ответ написан
Комментировать
xISRAPILx
@xISRAPILx
Кратко не получится
Первый вариант сливает два массива (аналог array_merge), второй добавляет массив в массив.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dimkamonster
если есть желание получить такой же результат, как и в первом случае, то запись должна быть такой
$output_array[$k] = $v;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы