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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Почему нельзя сравнивать текстовые переменные оператором if ?

Сообщения:  [1-10]   [11-16] 

 
 автор: Петр   (26.07.2007 в 11:23)   письмо автору
 
   для: ШИМ   (24.07.2007 в 21:31)
 

Оператор === сравниват значение и типы переменных
Например попробуйте:

<?php
$a 
123// число;
$b '123'// текст;;
// ;
if ($a===$b) {
 echo 
'1';
}
// ;
if ($a==$b) {
 echo 
'2';
}
?>

   
 
 автор: ШИМ   (25.07.2007 в 16:29)   письмо автору
 
   для: Unkind   (24.07.2007 в 21:35)
 

Я сам вообще, сторонник того что "ЕСЛИ НЕ ЗНАЕШ, НЕ ГОВОРИ", незнаю что на меня нашло, это я вообще перепутал, с типами, извините кого ввел в заблуждение

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

Казнить нельзя помиловать. Вы имели ввиду, лучше бы strpos() возвращала -1 в том случае, если подстрока не найдена? И чем лучше?

   
 
 автор: bronenos   (25.07.2007 в 15:29)   письмо автору
 
   для: cheops   (25.07.2007 в 12:18)
 

вот почему strpos не возвращает -1 в случае чего
лучше strpos(...) < 0 чем strpos(...) === false, не находите?

   
 
 автор: cheops   (25.07.2007 в 12:18)   письмо автору
 
   для: BIOS   (24.07.2007 в 20:29)
 

Эквивалентность требуется когда автоматическое приведение "" и 0 к false мешает корректному сравнению. В строках, если речь идёт не о "" можно использовать как ==, так и ===. Однако, использование === настраивает читающего на то, что у вас один из операндов будет 0, "" или false и это имеет значение. Поэтому здесь как раз лучше использовать классический оператор равенства ==.

   
 
 автор: Unkind   (24.07.2007 в 21:35)   письмо автору
 
   для: ШИМ   (24.07.2007 в 21:31)
 

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

   
 
 автор: ШИМ   (24.07.2007 в 21:31)   письмо автору
 
   для: Unkind   (24.07.2007 в 21:00)
 

По моему это === ИДЕНТИЧНОСТЬ, т.е. учитивается и регистр, точно не помню

   
 
 автор: Unkind   (24.07.2007 в 21:00)   письмо автору
 
   для: BIOS   (24.07.2007 в 20:29)
 

Только лучше использовать строгое равенство
Расскажите почему Вы так решили.

   
 
 автор: BIOS   (24.07.2007 в 20:29)   письмо автору
 
   для: Владимир55   (24.07.2007 в 19:03)
 

Только лучше использовать строгое равенство - "==="

   
 
 автор: Владимир55   (24.07.2007 в 20:00)   письмо автору
 
   для: Unkind   (24.07.2007 в 19:36)
 

Записал уже. Ну, конечно же, речь о функции strcmp

   

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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