За последние 24 часа нас посетили 49880 программистов и 1757 роботов. Сейчас ищут 912 программистов ...

Инициализация нулевых переменных в PHP

Тема в разделе "Прочие вопросы по PHP", создана пользователем Donald, 11 апр 2016.

  1. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Принято ли инициализировать пустые\нулевые значения переменных в правилах хорошего кода PHP?
    В реалиях это ведь не нужно + часто засоряет код, но по умолчанию, например, PhpStorm, ругается и предупреждает, что переменная не инициализирована. Есть только мнение, что среда не может предугадать, что у переменной подразумевается "нулевое" значение и поэтому вынуждена предупреждать подобное.
    Озвучте, у кого какое мнение на это или дайте ссылку устоявшееся мнение.
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    нужно ((:)
     
  3. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    Как раз не нужно! Код:
    PHP:
    или
    PHP:
    1. $a += 1;
    прекрасно работатет. PHP сам инициализирует переменные.
    Вопрос бошльше в стиле программирования и подводных камнях того или иного подхода.
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    НЕ прекрасно, а с нотисом.
    Для каждого типа есть значение которое задается по умолчанию

    Подход один. Всегда инициализируй переменную, и не будет подводных камней.
     
  5. Donald

    Donald Новичок

    С нами с:
    13 окт 2015
    Сообщения:
    31
    Симпатии:
    0
    А кто и где предпочитает инициализировать переменные начальным значением? Имею ввду в начале файла скрипта или непосредственно перед первым использованием конкретной переменной.. Впрос читабельности кода. Лично у меня в процендурном стиле получается бардак из-за довольно не малых блоков типа:
    PHP:
    1. $idx_counter = 0;
    2. $skip_step = 0;
    3. $sum_selected = 0;
    4. $stop_flag = false;
    5. foreach ($stock as $stuff) {
    6. тут работаем с использованием вышеперечисленных переменных
    7. ...
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Лично я делаю даже там, где не нужно, просто потому что мне так понятнее мой алгоритм. Например, не так:
    PHP:
    1. for ($i = 0; $i < 25; $i++)
    2.     $res[] = $i * $i;
    3. }
    а
    PHP:
    1.  $res = [];
    2.  
    3. for ($i = 0; $i < 25; $i++)
    4.     $res[] = $i * $i;
    5. }
    4 строчки - не бардак.
     
    Abyss нравится это.
  7. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Постоянно создаю дефолтные значения или в некоторых случаях null'ы
    В большинстве своём нужно для логики.
    Перед условием без else например.
     
  8. Basilio

    Basilio Случайный прохожий

    С нами с:
    6 апр 2016
    Сообщения:
    191
    Симпатии:
    54
    Ах, как жаль, что в php нет такой вещи, как undefined behaviour. :(
     
  9. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Ну всё к этому идёт.