Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: очень простой вопрос о переменных
 
 автор: irr   (27.10.2005 в 05:44)   письмо автору
 
 

аналогичны ли следующие выражения?


1) if (empty($var))
2) if ($var==''))
3) if (!$var)

   
 
 автор: codexomega   (27.10.2005 в 06:11)   письмо автору
 
   для: irr   (27.10.2005 в 05:44)
 

Нет.
Первое проверяет была ли переменная инициализирована.
Второе проверят значение переменной, равняется ли оно пустой строке.
Третье возвращает boolean (true или false). T.e проверят обратное, перевернутое значение переменной.

   
 
 автор: irr   (27.10.2005 в 06:45)   письмо автору
 
   для: codexomega   (27.10.2005 в 06:11)
 

спасибо :). только у меня теперь еще больше вопросов возникло. надо наверное теорию читать :(.

1) что значит "переменная инициализирована"? т.е. ей присвоено какое-то значение, будь то строка, число или boolean?

2) есть ли разница между пустой строкой, 0 и false?

<?php
$var
=false// или $var=0;
if ($var=='') { echo "истина"; } else { echo "ложь"; }
?>

этот пример в обоих случаях выводит "истина", хотя $var не равно именно *пустой строке*! она равна false в первом случае, и 0 во втором.
тогда в чем же разница между 1) if (empty($var)) и 2) if ($var==''))?

3) то же самое будет если

<?php
$var
=false// или $var=0; или $var='';
if (!$var) { echo "истина"; } else { echo "ложь"; }
?>

во всех 3-х случаях выведется "истина".
тогда в чем же разница между 2) if ($var=='')) и 3) if (!$var))?

   
 
 автор: hatsker   (27.10.2005 в 09:09)   письмо автору
 
   для: irr   (27.10.2005 в 06:45)
 

Разница в том что !$var имеет только две возможности (true ili false) теоретически, но на практике там какое то значение которое отличаеться от привычных true и false. только PHP умеет понимать true ето или false.а ты можеш тока условие подставить.... $var == '' где $var может быть чем угодно. Если не веришь можешь проверить через код где условие истиности напиши после echo($var). и ты сам увидишь

   
 
 автор: irr   (27.10.2005 в 11:19)   письмо автору
 
   для: hatsker   (27.10.2005 в 09:09)
 

что-то я ничего не понял. как это, отличается от привычных true и false? и какой код написать?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования