|
|
|
|
|
для: Drago
(13.07.2008 в 14:03)
| | >Так почему вы его не использовали в своем первом посте?
Первый вариант был заведомо ошибочным, ниже я об этом написал. А в общем да, это недочёт.
>Я вам верю, но вы все же, так, для себя, потестируйте свои скрипты на ввод одного единственного символа нуль.
Это к чему?:) | |
|
|
|
|
|
|
|
для: Drago
(13.07.2008 в 14:03)
| | - | |
|
|
|
|
|
|
|
для: sms-send
(13.07.2008 в 13:47)
| | >in_array() имеет 3ий параметр strict.
Так почему вы его не использовали в своем первом посте?
Ведь:
<?
$a = array(1, 2, 0);
if (!in_array('', $a))
?>
|
вернет false
>У меня логика всегда предполагает ввод чего угодно, в том числе пустой строки и соответствующую реакцию. Конечно, это уже дело привычки и стиля, зато работает безотказно и логично.
Я вам верю, но вы все же, так, для себя, потестируйте свои скрипты на ввод одного единственного символа нуль. | |
|
|
|
|
|
|
|
для: Drago
(13.07.2008 в 12:45)
| | Вопрос о логике Вы плавно перевели в плоскость вопроса о стиле.
Объективности ради я в полемику вопросов стиля вступать зарекся очень давно.
Субъективно (подчеркиваю, это мое личное мнение, и я его никому не навязываю) мне такой подход (сокрытие диагностики на участке кода, превышающем фрагмент одной строки) омерзителен. | |
|
|
|
|
|
|
|
для: Drago
(13.07.2008 в 13:35)
| | in_array() имеет 3ий параметр strict.
>И если она, логика, предполагает ввод в поле формы
У меня логика всегда предполагает ввод чего угодно, в том числе пустой строки и соответствующую реакцию. Конечно, это уже дело привычки и стиля, зато работает безотказно и логично. | |
|
|
|
|
|
|
|
для: sms-send
(13.07.2008 в 13:20)
| | >а вот читаемость кода как раз портится от приведения string => boolean, например, строка "0" будет приведена к false, хотя это вполне рабочее значение для строки, а в коде эта логика не просматривается.
Это, как раз, портиться не читаемость, а уже логика скрипта.
И если она, логика, предполагает ввод в поле формы одного символа "0" (нуль), то и обрабатывать это поле должна соответственно. А именно, использовать строгое сравнение "===" переменной со строкой "0".
Поскольку, нестрогое сравнение, empty() и даже in_array(), приравняют нуль к false. И опять таки, нарушат логику. | |
|
|
|
|
|
|
|
для: Drago
(13.07.2008 в 13:13)
| | Ну лишними я бы их не назвал, а вот читаемость кода как раз портится от приведения string => boolean, например, строка "0" будет приведена к false, хотя это вполне рабочее значение для строки, а в коде эта логика не просматривается. | |
|
|
|
|
|
|
|
для: sms-send
(13.07.2008 в 13:05)
| | Если сам язык это позволяет, то зачем ухудшать читаемость и засорять код использованием лишних функций?
>Вообще мне такие измывательства над языком не нравятся =/
на вкус ИЛИ цвет, все фломастеры разные. | |
|
|
|
|
|
|
|
для: Drago
(13.07.2008 в 13:01)
| | Повод будет, если в массиве $_POST будет хотя бы один элемент.
Вообще мне такие измывательства над языком не нравятся =/
Зачем string или array неявно приводить к boolean, если есть операторы предназначенные для явного сравнения конкретных величин.. | |
|
|
|
|
|
|
|
для: sms-send
(13.07.2008 в 12:57)
| | никуда, потому что для их вывода не будет повода. | |
|
|
|
|