Strannik
16.08.2013 - 09:15
Добрый день.
Встретил код:
$secondary = $matches[1];
if($secondary) {...}
я привык уже делать проверку
if($secondary != '') или if(!empty($secondary))
, так вот правильно ли делать
if($secondary) {...}
или лучше писать как и раньше?
Технически это допустимо, но рассово неверно. При такой записи в переменной ожидается булев тип, а там чертиче. PHP прощает эти вольности, но лучше привыкать к хорошему.
Вот еще вариант:
if((bool)$secondary){...}
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
glock18
16.08.2013 - 11:04
Это то же самое, что !empty() но без проверки на существование
Игорь_Vasinsky
16.08.2013 - 11:11
glock18запусти
if($secondary) {
echo '$secondary существует';
}
else
echo '$secondary не существует';
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
glock18
16.08.2013 - 11:14
/facepalm
Игорь_Vasinsky
16.08.2013 - 11:16
а чё так?
только эти 5 строчек в коде.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
error_reporting(0)???
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
HErATuB
16.08.2013 - 11:30
"if(empty($secondary))" == "if($secondary) "
они аналогичны.
Игорь_Vasinsky
16.08.2013 - 11:34
Цитата |
error_reporting(0)??? |
обязательно, я же говорил уже.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
glock18
16.08.2013 - 11:35
Цитата (HErATuB @ 16.08.2013 - 07:30) |
"if(empty($secondary))" == "if($secondary) " они аналогичны. |
Неправда.
2Игорь:
попробуй перечитать мое первое сообщение. Оно кажется мне несложным, и совершенно непонятно как понимание моего сообщения могло сподвигнуть тебя сделать такой комментарий
HErATuB
16.08.2013 - 11:37
glock18 Проверь)
glock18
16.08.2013 - 11:37
Цитата (Игорь_Vasinsky @ 16.08.2013 - 07:34) |
Цитата | error_reporting(0)??? |
обязательно, я же говорил уже.
|
Valick
16.08.2013 - 11:39
Цитата |
обязательно, я же говорил уже. |
говнокодить как раз не обязательно
_____________
Стимулятор ~yoomoney - 41001303250491
HErATuB
16.08.2013 - 11:39
Цитата |
empty — Проверяет, пуста ли переменная
"" (пустая строка) - СРАБОТАЕТ 0 (целое число) - СРАБОТАЕТ 0.0 (дробное число) - СРАБОТАЕТ "0" (строка) - СРАБОТАЕТ NULL - СРАБОТАЕТ FALSE - СРАБОТАЕ array() (пустой массив) - Не помню) var $var; (переменная объявлена, но не имеет значения в классе) - СРАБОТАЕТ
|
glock18
16.08.2013 - 11:45
Цитата (HErATuB @ 16.08.2013 - 07:37) |
glock18 Проверь) |
Да что с вами, в конце концов, здесь. Неужели думаете, что мне нужно код этот выполнять, чтобы результат предсказать?
1. empty($secondary)
ок, здесь наиболее вероятна опечатка - отсутствие отрицания
вернет true если переменная пуста или не определена
2. $secondary
$secondary будет true если переменная не имеет одно из значений упомянутых здесь же:
http://php.net/manual/en/function.empty.phpпородит ошибку при неопределенной переменной3. !empty($secondary)
почти то же самое, что 2, но не порождает ошибку.
За использование 2го варианта в ситуации, когда существование переменной под вопросом, я лично оторвал бы программисту руки.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.