Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как упростить конструкцию

Сообщения:  [1-10]    [11-20]  [21-22] 

 
 автор: sms-send   (13.07.2008 в 14:12)   письмо автору
 
   для: Drago   (13.07.2008 в 14:03)
 

>Так почему вы его не использовали в своем первом посте?

Первый вариант был заведомо ошибочным, ниже я об этом написал. А в общем да, это недочёт.

>Я вам верю, но вы все же, так, для себя, потестируйте свои скрипты на ввод одного единственного символа нуль.

Это к чему?:)

   
 
 автор: sms-send   (13.07.2008 в 14:12)   письмо автору
 
   для: 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(120);
if (!
in_array(''$a))
?>

вернет false

>У меня логика всегда предполагает ввод чего угодно, в том числе пустой строки и соответствующую реакцию. Конечно, это уже дело привычки и стиля, зато работает безотказно и логично.

Я вам верю, но вы все же, так, для себя, потестируйте свои скрипты на ввод одного единственного символа нуль.

   
 
 автор: Trianon   (13.07.2008 в 13:50)   письмо автору
 
   для: Drago   (13.07.2008 в 12:45)
 

Вопрос о логике Вы плавно перевели в плоскость вопроса о стиле.
Объективности ради я в полемику вопросов стиля вступать зарекся очень давно.
Субъективно (подчеркиваю, это мое личное мнение, и я его никому не навязываю) мне такой подход (сокрытие диагностики на участке кода, превышающем фрагмент одной строки) омерзителен.

   
 
 автор: sms-send   (13.07.2008 в 13:47)   письмо автору
 
   для: Drago   (13.07.2008 в 13:35)
 

in_array() имеет 3ий параметр strict.

>И если она, логика, предполагает ввод в поле формы

У меня логика всегда предполагает ввод чего угодно, в том числе пустой строки и соответствующую реакцию. Конечно, это уже дело привычки и стиля, зато работает безотказно и логично.

   
 
 автор: Drago   (13.07.2008 в 13:35)   письмо автору
 
   для: sms-send   (13.07.2008 в 13:20)
 

>а вот читаемость кода как раз портится от приведения string => boolean, например, строка "0" будет приведена к false, хотя это вполне рабочее значение для строки, а в коде эта логика не просматривается.

Это, как раз, портиться не читаемость, а уже логика скрипта.
И если она, логика, предполагает ввод в поле формы одного символа "0" (нуль), то и обрабатывать это поле должна соответственно. А именно, использовать строгое сравнение "===" переменной со строкой "0".

Поскольку, нестрогое сравнение, empty() и даже in_array(), приравняют нуль к false. И опять таки, нарушат логику.

   
 
 автор: sms-send   (13.07.2008 в 13:20)   письмо автору
 
   для: Drago   (13.07.2008 в 13:13)
 

Ну лишними я бы их не назвал, а вот читаемость кода как раз портится от приведения string => boolean, например, строка "0" будет приведена к false, хотя это вполне рабочее значение для строки, а в коде эта логика не просматривается.

   
 
 автор: Drago   (13.07.2008 в 13:13)   письмо автору
 
   для: sms-send   (13.07.2008 в 13:05)
 

Если сам язык это позволяет, то зачем ухудшать читаемость и засорять код использованием лишних функций?

>Вообще мне такие измывательства над языком не нравятся =/
на вкус ИЛИ цвет, все фломастеры разные.

   
 
 автор: sms-send   (13.07.2008 в 13:05)   письмо автору
 
   для: Drago   (13.07.2008 в 13:01)
 

Повод будет, если в массиве $_POST будет хотя бы один элемент.

Вообще мне такие измывательства над языком не нравятся =/
Зачем string или array неявно приводить к boolean, если есть операторы предназначенные для явного сравнения конкретных величин..

   
 
 автор: Drago   (13.07.2008 в 13:01)   письмо автору
 
   для: sms-send   (13.07.2008 в 12:57)
 

никуда, потому что для их вывода не будет повода.

   

Сообщения:  [1-10]    [11-20]  [21-22] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования