Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 02:12   #1
zazic2p
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 28
По умолчанию if ($a=$b)

if ($a=$b) {...}
Вопрос такой. Что это значит? Если переменной а присвоить переменную b (именно присвоить, а не сравнить==), то выполнится блок? Или как? В данный момент у меня поздняя ночь. Мне не спится, из-за этого вопроса, да бы я понимаю, что я понимаю не так. Ответьте мне, да я спать пойду, а то уже 2:12
zazic2p вне форума Ответить с цитированием
Старый 16.10.2011, 04:09   #2
S-HaCK XORitY
Пользователь
 
Аватар для S-HaCK XORitY
 
Регистрация: 19.07.2011
Сообщений: 70
По умолчанию

блок выполнится в том случае, если $b != 0, $b != false, $b != null, во всех остальных случаях условие истинно. Если предположить, что $b всегда имеет число > 0 или строку, то это всегда истинное условие, как if(true) {...}. Так же это может быть всего лишь ошибкой программиста и не нести никакой осмысленной логики. Поэкспериментируй...
Made All in China - MAC OS...
S-HaCK XORitY вне форума Ответить с цитированием
Старый 16.10.2011, 04:13   #3
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

блок выполнится
бывает очень удобно использовать

PHP код:
if ($res = @mysql_query('SELECT * FROM table')) {

// запрос выполнен

} else {

// запрос не выполнен


Lesha вне форума Ответить с цитированием
Старый 16.10.2011, 04:14   #4
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

Бред, бред, бред.
Обычно пишут либо
Цитата:
if ($a==$b) {...}
, либо
Цитата:
if ($a===$b) {...}
Если $a равно $b и имеет тот же тип (добавлено в PHP 4).
Почитай вот это, - http://ru2.php.net/manual/ru/languag...comparison.php.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 16.10.2011, 04:21   #5
S-HaCK XORitY
Пользователь
 
Аватар для S-HaCK XORitY
 
Регистрация: 19.07.2011
Сообщений: 70
По умолчанию

Alexei91 - вопрос был задан конкретно про if($a=$b) {...}, а не про if($a==$b) или if($a===$b) (жесткое сравнение). Я видел подобные конструкции, типа if($a=$b), пример привел Lesha, иначе могло бы выглядеть так:
Код:

$a = null;
$b = mysql_query('SELECT * FROM table');

if ($a = $b) { 

// запрос выполнен 

} else { 

// запрос не выполнен 

}
вот и все...
Made All in China - MAC OS...
S-HaCK XORitY вне форума Ответить с цитированием
Старый 16.10.2011, 13:29   #6
zazic2p
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 28
Вопрос

PHP код:
<?php
$s
=3;
$i=0;
while (
$i<=10)
       {
          if (
$i=$s) {r="секретное число $i";}
          else {
$r="Число не найдено";}
          
$i++;
       }
echo 
$r;
?>
Должно вылезти Число не найдено! Этим простым кодом я снес себе мозг.
Как я это понимаю. Пока i меньше или равно 10 выполняем блок. У нас i равно 0. Залезаем в блок. Если условие в скобочках true, то r=секретное число. i будет у нас равно уже 3. Получактся true. i++ увеличивает на 1, и теперь у нас i=4. Идем вверх. Там подподаем под условие while, идем к if. i опять присваивается 3. Опять true! и опять с песней повторяем весь цикл ваяйл, и вроде происходит зацикливание. i=4 и мы опять присваеваем ему $s=3 . А автор учебника утверждает что должно вылезти Число не найдено! Помогите разобраться.
zazic2p вне форума Ответить с цитированием
Старый 16.10.2011, 15:15   #7
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

PHP код:
<?php 
$s
=3
$i=0
while (
$i<=10) { 
   if (
$i==$s) { $r "секретное число $i"; break; } 
   
$i++; 
}
if (isset(
$r)) { echo $r; } else { echo "Число не найдено"; }
Lesha вне форума Ответить с цитированием
Старый 16.10.2011, 17:09   #8
zazic2p
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 28
По умолчанию

Lesha, с break понятно. В книжном примере он есть. Только автор утверждал, что если убрать брейк, в своем примере я убрал, то должно выводится Число не найдено! Я вот и убрал и запустил, и всееее виснит браузер, и нифига не выводится Число не найдено! Или я недопонимаю. Ход своих мыслей я представил выше... Я правильно рассуждал?

Последний раз редактировалось dr.Chas; 18.10.2011 в 19:11.
zazic2p вне форума Ответить с цитированием
Старый 18.10.2011, 15:40   #9
aferistz
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 26
По умолчанию

Цитата:
Lesha, с break понятно. В книжном примере он есть. Только автор утверждал, что если убрать брейк, в своем примере я убрал, то должно выводится Число не найдено! Я вот и убрал и запустил, и всееее виснит браузер, и нифига не выводится Число не найдено! Или я недопонимаю. Ход своих мыслей я представил выше... Я правильно рассуждал?
все автор говорит правильно, так как если не выйти из цикла, то скрипт выдаст правильный ответ только когда $s=10, а иначе будет выводится "Секретное число не найдено"

Последний раз редактировалось dr.Chas; 18.10.2011 в 19:11.
aferistz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц