parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Misha v.3 23.11.2007 21:23 / 23.11.2007 21:24

- ссылки не сравниваются
- '==' -- сравнение в скалярном контексте
- каждый объект в скалярном контексте имеет своё представление: table -- количество строк, hash -- количество записей, date -- количество секунс с ... года, int/double -- as is, string -- пытается преобразоваться к int, bool -- 1/0

все этим пользуются:
^if($table){таблица содержит что-то}{таблица пуста}
^if($hash){в хеше что-то есть}{хеш пуст}
^if($bool){истина}{ложь}
^if($int){не ноль}{ноль}
...
=>
^if($table_with_one_row == 1){равно}
^if($table_with_one_row == $another_table_with_one_row){равно}
^if($table_with_one_row == $hash_with_one_key){равно}
^if($hash_with_one_item == $bool_true){равно}
...
узнать что одна таблика равна другой с помощью подобного сравнение нельзя (да и вообще как это понять я слабо представляю).

P.S. не проверял, но насколько я себе представляю -- это так.
P.P.S. с помощью этого теста вы можете посмотреть как работают преобразования для объектов разных типов. parser 3.2.2 required.