Должен ли я объявить мои переменные в PHP? - PullRequest
1 голос
/ 28 ноября 2011

Я обычно устанавливаю все свои переменные, даже если они могут ничего не возвращать.Но теперь мне интересно:

Какой вред это принесет, если я выведу пустую переменную?

например.

<?php

$a = 'a';
$b = 'b';

if($a==$b)
{
$data = 'Yes they where the same';
};


echo $data;

?>

Почему я должен делать это так?

<?php

$data = ''; // declare varibale
$a = 'a';
$b = 'b';

if($a==$b)
{
$data = 'Yes they where the same';
};


echo $data;

?>

Спасибо за ваши ответы!

Расширение вопроса:

Что такое лучшая практика:

$data = '';

или

$data;

или используя

if (isset($data)){
echo $data;
}

Ответы [ 4 ]

4 голосов
/ 28 ноября 2011

Какой вред это принесет, если я повторю пустую переменную?

Нет пустой переменной, если вы ее не определили. Итак, вы пытаетесь вывести что-то, что не существует. Очевидно, что это не имеет смысла и вызывает уведомления (попробуйте запустить скрипт с E_ALL)

3 голосов
/ 28 ноября 2011

Краткий ответ: во избежание ненужных ошибок и уведомлений.

Длинный ответ изложен на здесь и здесь .

1 голос
/ 28 ноября 2011

Это не причинит никакого вреда, но покажет вам это уведомление:

Примечание PHP: Неопределенная переменная: данные в строке

1 голос
/ 28 ноября 2011

Как правило, лучше не использовать несуществующие переменные, как если бы они были объявлены ранее, поскольку это подавляет целый класс ошибок.Представьте, что у вас есть переменная $foo, а затем вы набрали $eoo.$eoo не имеет значения (кроме значения по умолчанию), но ваша программа будет работать без нареканий.Это может сделать программы очень сложными для отладки.Требование объявления переменных (наверняка, не только условно) перед их использованием позволяет компилятору отлавливать большое количество ошибок.

...