Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > правильный синтаксис проверки переменной


Автор: begin 14.10.2007, 12:17
У меня два вопроса на одну тему:
1. мне нужно проверить неравенство переменных, какой вариант правильный и лучший?
Код

if (!$var1==$var2)
if ($var1!==$var2)
if ($var1<>$var2)

2. мне нужно проверить переменную на непустоту,  какой вариант правильный и лучший?
Код

if (!$var=='')
if (!empty($var))

Автор: rMaveric 14.10.2007, 12:30
Цитата(begin @  14.10.2007,  12:17 Найти цитируемый пост)
1. мне нужно проверить неравенство переменных, какой вариант правильный и лучший?

Код

if ($var1!==$var2)



Цитата(begin @  14.10.2007,  12:17 Найти цитируемый пост)
2. мне нужно проверить переменную на непустоту,  какой вариант правильный и лучший?

Код

if ($var!=NULL)

Автор: flashaa 14.10.2007, 12:31
1. "<>" - такого оператора нет, используй "!=".
Так же можно проверить переменные не только на равенство значений, но и на совпадение типов - для этого есть оператор "идентичность" - "===".

2. Функция empty() проверяет переменную любого типа, в т.ч. массивы, числа,  
Какие переменные она считает пустыми, написано в http://ru2.php.net/manual/en/function.empty.php - 
Код

 The following things are considered to be empty:
"" (an empty string)
0 (0 as an integer)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
var $var; (a variable declared, but without a value in a class)

Автор: vasac 14.10.2007, 12:52
begin, если был бы "правильный и лучший" вариант, других бы вариантов не было. 
Всё зависит от вашей задачи. Почитайте документацию на каждый оператор, если не знаете, что он делает, и выберите тот, который подходит вам.

Автор: olegop 14.10.2007, 12:56
Цитата(flashaa @  14.10.2007,  12:31 Найти цитируемый пост)
1. "<>" - такого оператора нет, используй "!=".

Тут я с Вами поспорю, я так же успешно использую оператор "<>" как и "!="
http://php.su/learnphp/operators/?compar

Автор: begin 18.10.2007, 20:04
А могу ли я вместо такой проверки:
Код

if ((isset($_POST['id'])) && ($_POST['id']!==NULL) && (is_numeric($_POST['id'])))
$di=intval($id);

использовать только такую:
Код

if (is_numeric($_POST['id']))
$di=intval($id);

если мне необходимо лишь число лишь из одной переменной?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)