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

Форум PHP

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

 

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

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

тема: = и ==
 
 автор: afdm   (25.07.2007 в 12:26)   письмо автору
 
 

Здравствуйте все!!!
простите за такой глупый вопрос!!!!!!:)))))))))
= присвоить
== приравнять

вроде бы так???
или наоборот........ чего-то не могу вспомнить..... напомните....
спасибо!!! :))))))

   
 
 автор: AxoN   (25.07.2007 в 12:29)   письмо автору
 
   для: afdm   (25.07.2007 в 12:26)
 

= значит присвоить значение
== оператор идентичности

   
 
 автор: cheops   (25.07.2007 в 12:31)   письмо автору
 
   для: afdm   (25.07.2007 в 12:26)
 

= - это присвоить
<?php
  $str 
"Hello world";
?>

== - это сравнить
<?php
  
if($str == "Hello world") echo $str;
?>

   
 
 автор: SHAman   (25.07.2007 в 12:39)   письмо автору
 
   для: cheops   (25.07.2007 в 12:31)
 

Не забудьте, что есть еще убогий по написанию оператор ===, сравнивающий строки. Кстати, cheops, в вашем случае надо бы его использовать... ;)

   
 
 автор: cheops   (25.07.2007 в 12:41)   письмо автору
 
   для: SHAman   (25.07.2007 в 12:39)
 

Зачем, если один из операндов явно не является пустой строкой?

   
 
 автор: Unkind   (25.07.2007 в 15:47)   письмо автору
 
   для: SHAman   (25.07.2007 в 12:39)
 

Кстати, cheops, в вашем случае надо бы его использовать... ;)
Я вообще не понял. Кто вам всем в голову вбил такую чушь, что строки надо сравнивать оператором "==="?

   
 
 автор: SHAman   (25.07.2007 в 21:54)   письмо автору
 
   для: Unkind   (25.07.2007 в 15:47)
 

потому что === - это оператор сравнения строк. Лично я использую операторы по назначению. Не понимаю, зачем сравнивать строки как числа, когда можно как строки.

   
 
 автор: Trianon   (25.07.2007 в 21:57)   письмо автору
 
   для: SHAman   (25.07.2007 в 21:54)
 

=== это не операция сравнения строк.
Точнее не только строк. Она сравнивает данные любых типов.

   
 
 автор: Poison   (25.07.2007 в 22:04)   письмо автору
 
   для: SHAman   (25.07.2007 в 21:54)
 

>потому что === - это оператор сравнения строк.

Ужас. Откуда у вас такие сведения?

С самого начала в мане:


$a === $b Тождественно равно, TRUE если $a равно $b и имеет тот же тип.


>Лично я использую операторы по назначению.

Оно заметно;)

   
 
 автор: Ralph   (25.07.2007 в 22:51)   письмо автору
 
   для: Poison   (25.07.2007 в 22:04)
 

Полностью согласен с Trianon и Unkind...а если $a и $b- целочисленные переменные,их типы будут одинаковы ??? Или тип переменной одинаков только при сравнении строки со строкой ? И что значит-"сравнивать строки как числа ??? p.s. Интересно,для типов Integer и float тоже небось отдельные знаки сравнения существуют ?..

   
 
 автор: Poison   (25.07.2007 в 23:16)   письмо автору
 
   для: Ralph   (25.07.2007 в 22:51)
 

>Полностью согласен с Trianon и Unkind...а если $a и $b- целочисленные переменные,их типы будут одинаковы ??? Или тип переменной одинаков только при сравнении строки со строкой ? И что значит-"сравнивать строки как числа ??? p.s. Интересно,для типов Integer и float тоже небось отдельные знаки сравнения существуют ?..

Откуда вообще пошло что === можно сравнить только строки?

=== - Это тоже самое что gettype($a) == gettype($b) только еще сравниваеться содержимое.

   
 
 автор: Ralph   (25.07.2007 в 23:45)   письмо автору
 
   для: Poison   (25.07.2007 в 23:16)
 

Я это знаю...Просто забыл в своем сообщении смайлы иронии вставить :)

   
 
 автор: SHAman   (26.07.2007 в 11:54)   письмо автору
 
   для: Ralph   (25.07.2007 в 23:45)
 

Действительно, извините. У меня ошибка в книге, значит... : (
Будем знать. Значит, это сравнение, с учетом типов. То есть '1' === 1 должно дать FALSE.

Поясню что значит сравнивать как числа и сравнивать как строки. В Perl ложью может выступать пустая строка, NULL, FALSE, 0. Поэтому, там есть оператор сравнения строк, eq.

0 == false даст True
0 eq false даст false.

Поэтому вот так. В книге ошибка, да и я привык, что если строки, то eq, если что-то другое - ==. Извините за сумбур.

   
 
 автор: afdm   (25.07.2007 в 12:46)   письмо автору
 
   для: afdm   (25.07.2007 в 12:26)
 

всё!!! спасибо!!! всё понятно, простите ещё раз за такой глупый вопрос...... :)))))))))))))

   
 
 автор: bronenos   (25.07.2007 в 15:26)   письмо автору
 
   для: afdm   (25.07.2007 в 12:46)
 

все мы в свое время были такие как вы...

   
 
 автор: afdm   (25.07.2007 в 19:10)   письмо автору
 
   для: bronenos   (25.07.2007 в 15:26)
 

;)))))

   
Rambler's Top100
вверх

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