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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Насколько правильно конструкция IF
 
 автор: Udachix   (22.11.2013 в 22:01)   письмо автору
 
 

Насколько, по вашему мнению, правильно использовать конструкцию:
<?php
if ( $mysql_query mysql_query $query ) )
{
 if ( 
$mysql_fetch_array mysql_fetch_array $mysql_query ) )
 {
  
// ...
 
}
}
?>

Если учесть особенности оператора if в таком случае:
<?php
if ( $array = array ( 'a' => 'b' 'c' => 'd' 'e' => 'f' 'g' => 'h' 'i' => 'j' 'k' => 'l' 'm' => 'n' ) )
{
 echo 
$array 'a' ];
}
?>
Result: b

<?php
$count 
255;
$text 'Test';
if ( 
$array = array ( 'a' => 'b' 'c' => 'd' 'e' => 'f' 'g' => 'h' 'i' => 'j' 'k' => 'l' 'm' => 'n' ) && $count && $text !== '' )
{
 echo 
$array 'a' ];
}
?>
Result: *ничего*

  Ответить  
 
 автор: psychomc   (22.11.2013 в 22:33)   письмо автору
 
   для: Udachix   (22.11.2013 в 22:01)
 

$array = array(...) оберните в скобки.

  Ответить  
 
 автор: Udachix   (22.11.2013 в 23:12)   письмо автору
 
   для: psychomc   (22.11.2013 в 22:33)
 

Ах вот где собака порылась и косточку нашла. Спасибо!

  Ответить  
 
 автор: psychomc   (23.11.2013 в 00:10)   письмо автору
 
   для: Udachix   (22.11.2013 в 23:12)
 

курите приоритет и последовательность выполнения операций, а так же приведение типов. в php есть некоторые тонкости. но если внимательно перечитаете мануал, такие вопросы отпадут сами

  Ответить  
 
 автор: Udachix   (24.11.2013 в 16:12)   письмо автору
 
   для: psychomc   (23.11.2013 в 00:10)
 

В том-то и дело, что читал, правда на английском, поэтому наверно не нашёл.

  Ответить  
 
 автор: confirm   (22.11.2013 в 22:36)   письмо автору
 
   для: Udachix   (22.11.2013 в 22:01)
 

А какой смысл проверки заведомо полного массива?

  Ответить  
 
 автор: Udachix   (22.11.2013 в 23:10)   письмо автору
 
   для: confirm   (22.11.2013 в 22:36)
 

Я просто привёл аналогию к if ( mysql_query ).

  Ответить  
 
 автор: confirm   (23.11.2013 в 07:56)   письмо автору
 
   для: Udachix   (22.11.2013 в 23:10)
 

if(ресурс = запрос) так и записывается, а если нужна еще проверка в условии, то возвращение результата нужно заключать в скобки, так как if, это по сути логическая операция и будет взят для сравнения не вещественный результат запроса (присвоено переменной), а его логическое значение. При этом последнее выражение в условии можно в скобки не заключать - условие не присвоит переменной этого выражения его логического значения.
Вот только if(ресурс = запрос И еще что-то) это не логично, так как не позволит определить причину краха - был неудачен запрос к базе или что-то.

  Ответить  
 
 автор: Udachix   (24.11.2013 в 16:11)   письмо автору
 
   для: confirm   (23.11.2013 в 07:56)
 

Иногда есть ряд таких проверок, что не важно, какое именно условие подвело.

  Ответить  
 
 автор: confirm   (24.11.2013 в 16:43)   письмо автору
 
   для: Udachix   (24.11.2013 в 16:11)
 

Только не с базой данных, так как это может быть и сбой сервера, а ставить пользователя в раскоряку не совсем правильно.

  Ответить  
 
 автор: Udachix   (27.11.2013 в 00:41)   письмо автору
 
   для: confirm   (24.11.2013 в 16:43)
 

Так я и не другого мнения. Я запрос выше mysql в пример привёл просто.

  Ответить  
Rambler's Top100
вверх

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