За последние 24 часа нас посетили 22449 программистов и 1151 робот. Сейчас ищут 689 программистов ...

Foreach и фигурные скобки. Вывод результата

Тема в разделе "PHP для новичков", создана пользователем ciklop, 8 сен 2019.

  1. ciklop

    ciklop Новичок

    С нами с:
    1 сен 2019
    Сообщения:
    14
    Симпатии:
    0
    Доброго времени суток уважаемые форумчане, у меня такой вопрос.
    PHP:
    1. <?php
    2. $name = [1, 2, 3, 1, 3, 5, 5, 42, 53, 12];
    3. foreach ($name as $val) {
    4.    var_dump($val) . '<br />';
    5.     }
    6.     ?>
    Почему код выше выводит все результаты, а
    PHP:
    1. <?php
    2. $name = [1, 2, 3, 1, 3, 5, 5, 42, 53, 12];
    3. foreach ($name as $val) {
    4.     }
    5. var_dump($val) . '<br />';
    6.     ?>
    выводит только последний результат? Мне сказали, что это связано с фигурными скобками, гуглил, но ничего связанного не нашел.
     
  2. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    var_dump стоит ВНЕ цикла foreach))
     
  3. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @ciklop, базовый синтаксис РНР гуглить не пробовал?)))
     
  4. ciklop

    ciklop Новичок

    С нами с:
    1 сен 2019
    Сообщения:
    14
    Симпатии:
    0
    Так это я сам специально так сделал, просто не понятно почему внутри цикла все выдает а вне цикла только последнее значение, принцип работы хочу понять а не вызубрить просто:)
     
  5. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    потому что цикл во время каждой итерации назначает переменной $val новое значение.. а когда заканчиваем обходить массив то у переменной $val остается последнее значение из массива.. ваш Кэп)
     
    Dron-Boy и ciklop нравится это.
  6. ciklop

    ciklop Новичок

    С нами с:
    1 сен 2019
    Сообщения:
    14
    Симпатии:
    0
    Понял, спасибо :)