Strict Standards: Resource ID#31 used as offset, casting to integer (31) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: проверка неравенства
ТвойWeb » WebMaster класс » PHP/Perl » проверка неравенства

Страниц (1): [1]
 

1. Bard - 18 Декабря, 2005 - 19:28:37 - перейти к сообщению
Помогите советом пожалуйста!

Задача:
провероить неравенство двух переменных
пишу так
CODE:
do {
//выражение;
}
while ($a <> $b);

Правильно ли это и если нет, то как правильно?

И второй вопрос:
Если мне нужно свериться не с одной, а с двумя переменными, то как поступить? Можно ли так
CODE:
do {
//выражение;
}
while ($a <> $b and $a <> $c);
2. ETC - 19 Декабря, 2005 - 05:37:00 - перейти к сообщению
CODE:
do {
...
}
while ($a!=$b&&$a!=$c);
3. Bard - 19 Декабря, 2005 - 10:40:50 - перейти к сообщению
ОГРОМНОЕ спасибо! (и где повышение респекта, когда оно нужно? Радость)

Из твоего сообщения думается, что отрицание $a! применимо к любой переменной (почитал какую-то книгу, сложилось мнение, что только для переменной значение которой true или false).
И если не ошибаюсь && равносильно and , я прав?
4. Alone - 19 Декабря, 2005 - 10:54:46 - перейти к сообщению
Тоже с вопросиком в тему вклинюсь Улыбка

Знаки между переменными в этих случаях, такие как:
CODE:

!=
и
||
и
!= true &&

Что могут значить?
5. ETC - 19 Декабря, 2005 - 12:00:54 - перейти к сообщению
Bard
ты меня не понял. НЕ $a — это !$a

Alone
!= — «не равно»
|| — «или»
!= true — «ложь» (не равно истине)
&& — «и»
6. Bard - 19 Декабря, 2005 - 13:16:47 - перейти к сообщению
так... чой-то я не понял Не понял
Это кстати касательно баннеров, я всех этим доставал в другой теме, хотел сделать маленький красивый код...
CODE:
<?

$max=3; //кол-во баннеров

//задаем адреса
$mlink=array(1=>
"http://tvoyweb.ru/forums/",
"http://.net/",
"http://.ru/");

//картинки
$mimg=array(1=>
"http://example.tvoyweb.ru/banners/tvoyweb.gif",
"http://.gif",
"http://.gif");

//первый баннер
mt_srand(time()+(double)microtime()*1000000);
$bann1= mt_rand(1,$max);

//второй баннер
do {
mt_srand(time()+(double)microtime()*1000000);
$bann2= mt_rand(1,$max);
}
while ($bann2!=$bann1);

$counters = <<<CNT
<a href="$mlink[$bann1]"><img src="$mimg[$bann1]"></a>

<a href="$mlink[$bann2]"><img src="$mimg[$bann2]"></a>

CNT;
?>

И не работает. Всеравно выдает одинаковые (конечно иногда разные), ощущение, что проверка не производится. И код шпарит минуя оператор while
Подскажите, в чем я не прав?! Однако
7. Bard - 19 Декабря, 2005 - 13:24:52 - перейти к сообщению
Перелопатил еще пару учебников, нешел пример:

do_while
Цикл, аналогичный WHILE, но значение логического выражения проверяется не до, а после окончания итерации. Основное отличие - то что цикл хоть один раз но выполнится.



$a=1;
do {
echo $a;
} while ($a>1);

Понял, что неверно истолковал использоание оператора и мне нужно проверять именно РАВЕНСТВО.

Так что разобрался. Спасибо! Тему можно удалять.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0395]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33