| |
автор: Ganter (26.06.2006 в 21:24) |
|
| | Вчём различие, и как лучше писать:
1. if (!empty($text))
2. if ($text)
3. if (isset($text))
Ведь все они выводят один и тотже результат. Так в чём же различие??? | |
| |
|
|
| |
|
|
| |
для: Ganter
(26.06.2006 в 21:24)
| | | (1) != (3) если в $text пустая строка.
(2) != остальным вариантам, если $text не существует, т.к. выведет диагностику неопределенной переменной. | |
| |
|
|
| |
|
|
| |
для: Ganter
(26.06.2006 в 21:24)
| | | Чесно: я не понял что написал trianon..
3. Проверяет была ли создана такая переменная. Тоесть существует ли она..
2. Тоже самое что 1
1. Проверяет есть ли значение у переменной
Тоже самое что if($text="") Тоесть пустое ли там значение.
Пологаясь на то что переменная уже была создана.
Если переменной до этого создано не было - выведет сообщение об ошибке уровня E-Notice
и вернёт true - тобишь пустое значение переменной.
P.S. - ечли хотите узнать что делает функция х - пишем в адресной строке:
http://php.net/x
Примеры:
http://php.net/isset
http://php.net/empty | |
| |
|
|
| |
|
|
| |
для: valenok
(26.06.2006 в 22:15)
| | | Если нет никакой разницы между 1 и 2, какой смысл использовать функцию empty().
P.S. Она в скорости немного проигрывает... | |
| |
|
|
| |
автор: Ganter (26.06.2006 в 23:43) |
|
| |
для: Ziq
(26.06.2006 в 23:34)
| | | >Если нет никакой разницы между 1 и 2, какой смысл использовать функцию empty().
Я тоже так думаю, да и писать if (!empty()) как то дольше. Но все почемуто ПИШУТ!!! | |
| |
|
|
| |
|
|
| |
для: Ganter
(26.06.2006 в 23:43)
| | | Люди извините. Между 2 и 3.
Я чёт с цифрами спутал..
А я только её и пишу.
if(!empty($text))
Так как это и проверяет есть ли у переменной значение.
А если нет то какая разница - нет переменной или нет значения.
Просто выводим ошибку - нет переменной.. | |
| |
|
|
| |
|
|
| |
для: valenok
(26.06.2006 в 23:53)
| | | А если нет то какая разница - нет переменной или нет значения.
Разница есть. И большая. Если переменная не существует - это одно, но если переменная существует, но она пуста - это уже совершенно другое.
Вчём различие, и как лучше писать:
1. if (!empty($text))
2. if ($text)
3. if (isset($text))
Ведь все они выводят один и тотже результат. Так в чём же различие???
Различия вы можете посмотреть в мануале: http://ru.php.net/manual/ru/print/types.comparisons.php | |
| |
|
|
| |
|
|
| |
для: Саня
(27.06.2006 в 00:11)
| | | Если они получены от пользователя - то никакой разницы..
Не разница есть конечно. Но всё равно тот же результат.
А если нет - другое дело.. | |
| |
|
|
| |
|
|
| |
для: valenok
(27.06.2006 в 00:32)
| | | Если они получены от пользователя - то никакой разницы..
Если пользователь не ввёл в поле значение, то переменная в суперглобальном массиве будет существовать, но она окажется пустой. Если эта переменная не существует - то тут можно уловить попытку подмены формы. Это тонкие моменты. | |
| |
|
|
| |
|
|
| |
для: Саня
(27.06.2006 в 01:08)
| | | Я не знаю.
[поправлено модератором] | |
| |
|
|
| |
|
|
| |
для: valenok
(27.06.2006 в 09:42)
| | | . | |
| |
|
|
| |
|
|
| |
для: Саня
(27.06.2006 в 00:11)
| | | Может туплю, но я так и не понял разницы между 1 и 2. | |
| |
|
|
| |
|
|
| |
для: Ziq
(27.06.2006 в 21:35)
| | | $text = '';
isset($text) = true
!empty($text) = false | |
| |
|
|
| |
|
|
| |
для: Trianon
(27.06.2006 в 21:41)
| | | мимо
1. if (!empty($text))
2. if ($text)
|
| |
| |
|
|
| |
|
|
| |
для: Ziq
(27.06.2006 в 21:43)
| | |
<?
unset($text);
if(!empty($text)) echo 'true'; else echo 'false<br>';
if($text) echo 'true'; else echo 'false<br>';
?>
|
первая строка выдаст
вторая строка выдаст
Notice: Undefined variable: text in ?????.php on line ?
false
|
| |
| |
|
|