[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: несколько операция в одной
Hugo_O
проблемы как таковой нет, но хочется узнать как можно проще записать выражение типа
if(empty($a) or empty($b) or empty($c) or empty($d) or empty($e))



Спустя 4 минуты, 14 секунд (5.07.2010 - 16:47) DedMorozzz написал(а):
if(empty($a) || empty($b) ||...
|| == OR

Спустя 1 день, 3 часа, 48 минут, 50 секунд (6.07.2010 - 20:36) Hugo_O написал(а):
DedMorozzz
ну это я знаю, но где здесь упрощение?))

Спустя 51 минута, 14 секунд (6.07.2010 - 21:27) sergeiss написал(а):
Встречный вопрос: а насколько проще ты бы хотел это сделать? И что значит "проще"?
Если тебе подойдет функция isset, близкая по сути к empty, то там проще - там можно передать все переменные, которые для проверки, через запятую.
if( !isset( $a, $b, $c, $d) ) .... что-то делаем

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

Спустя 10 часов, 6 минут, 18 секунд (7.07.2010 - 07:34) linker написал(а):
sergeiss, ну скажем здесь суть разная
$a = 'c';
isset($a); // true
empty($a); // false
Можно сильно наколоться, а потом долго искать ошибку

Спустя 26 минут, 47 секунд (7.07.2010 - 08:00) sergeiss написал(а):
linker - а кто мешает поставить знак отрицания????

$a = 'c';
!
isset($a); // false
empty($a); // false

// переменную $b не объявили

!isset($b); // true
empty($b); // true

Спустя 1 час, 48 секунд (7.07.2010 - 09:01) linker написал(а):
sergeiss, лучше уходить от таких логических извратов, я ж говорю можно сильно наколоться, а искать логическую ошибку труднее всего.

Спустя 5 минут, 20 секунд (7.07.2010 - 09:06) Basili4 написал(а):
linker
если учитывать что ТС действитьльно нужно что он говорит и его алгоритм опитмальный то по мне лучше использовать isset c параметрами чем кучу empty другой вопрос если это не единожды будет проверятся тогда вообще луче функцию написать. ИМХО алгоритм ТС не совсем оптимален зачем создавать пустые переменные ?????

Спустя 8 минут, 17 секунд (7.07.2010 - 09:15) linker написал(а):
sergeiss
$a = '';
!
isset($a); // false
empty($a); // true

$a = '';
$b = '';
$c = '';
$d = 'a';
isset($a, $b, $c, $d); // всегда true
!isset($a, $b, $c, $d); // всегда false
Все это логическая ошибка smile.gif Я же говорю, не надо...

Спустя 21 минута, 17 секунд (7.07.2010 - 09:36) sergeiss написал(а):
linker - я сразу написал, в самом начале "Если тебе подойдет функция isset..." smile.gif
Пусть ТС сам думает над тем, что ему в итоге нужно.

Спустя 1 час, 57 минут, 57 секунд (7.07.2010 - 11:34) Hugo_O написал(а):
sergeiss
дело в том, что иссет не подойдет, нужно именно пустоту проверять, можно конечно возможно как-то так
if($a || $b || $c || $d ||$e =='')
но зачем тогда емпти придумали)))

такое не катит, только так:
if($a =='' || $b =='' || $c =='' || $d =='' ||$e =='')

Спустя 17 минут, 42 секунды (7.07.2010 - 11:52) DedMorozzz написал(а):
пример
$a=preg_replace('#.*#','',"aaa aaa");
if(isset($a)) echo $a." isset<br>";
if(empty($a)) echo $a." is empty";

В данном случае переменная А существует, но она пустая.

Спустя 50 минут, 39 секунд (7.07.2010 - 12:42) Hugo_O написал(а):
DedMorozzz
if($a=='');
не то же самое?

Спустя 4 минуты, 28 секунд (7.07.2010 - 12:47) DedMorozzz написал(а):
а 0? Оно тоже ЕМПТИ

Спустя 29 секунд (7.07.2010 - 12:47) Hugo_O написал(а):
DedMorozzz
насколько я знаю в php ''=0

<?php
$x=0;
$y=2;
if ($x =='' || $y=='')
echo "yess";
?>


выдает yess

<?php
$y=2;
if ($x =='' || $y=='')
echo "yess";
?>


выдает yess

в общем как надо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.