Пустую переменную определите в php - PullRequest
32 голосов
/ 18 марта 2012

Прежде чем что-то делать с $ error :

$error = NULL;

В некоторых скриптах видел:

$error = '';
$error = false;
$error = 0;
  • Какой метод «лучше» или, возможно, зависит от того, в какой ситуации я использую это?
  • Что вы предлагаете?

Ответы [ 4 ]

43 голосов
/ 18 марта 2012

Зависит от вашего дизайна:

  • Вы устанавливаете его как объект в случае ошибки?Используйте NULL.
  • Вы устанавливаете его на true в случае ошибки?Используйте false.
  • Вы устанавливаете его в качестве некоторого числа в случае ошибки?Используйте 0.
  • Вы устанавливаете это в строку, чтобы описать ошибку?Используйте ''.

Лучшим способом обозначения ошибок будет выбросить исключения , а не устанавливать переменную и определять ошибку в соответствии с ней.

3 голосов
/ 26 января 2014

1.

$v = NULL;

settype($v, 'string');
settype($v, 'int');
settype($v, 'float');
settype($v, 'bool');
settype($v, 'array');

var_dump($v);

2.

$v = NULL;
var_dump( (string) $v);
var_dump( (int) $v);
var_dump( (float) $v);
var_dump( (bool) $v);
var_dump( (array) $v);
3 голосов
/ 18 марта 2012

Канонического ответа на этот вопрос нет.Пока вы используете один из этих семафоров последовательно, вы можете использовать все, что захотите.Поскольку PHP является типизированным свободно, все эти значения являются «ложными» и могут быть оценены в логическом сравнении как FALSE.

Тем не менее, существует большая разница между пустой строкой и другимитак что я бы придерживался NULL с и FALSE с в этом сценарии.

1 голос
/ 18 марта 2012

Это зависит от условий, в которых вам необходимо использовать $error.Использование NULL - это то, что я выбрал в основном, так как я больше разбираюсь с предложениями MySQL и всем!

...