2013-02-27 10 views

ответ

2

== сравнивает значения двух переменных. Если они имеют разные типы, они преобразуются в общий тип, а затем сравниваются.

===, с другой стороны, является более строгим. Это требует, чтобы обе стороны были того же типа.

php> = 5 == "5" 
true 
php> = 5 === "5" 
false 
+0

ОК, спасибо !!!! –

2

== Виль сделать преобразование автоматического типа, === не будет

Это означает, что:

0 == "0" вычисляет TRUE, потому что внутренне при сравнении строк и чисел, строка преобразуется в число при использовании == ,

0 === "0" оценивает FALSE, преобразование типа нет, а целое число 0 не равно строке.

Дополнительная информация в documentation и more documentation.

+0

Кроме 0 == "что-то" оценивается как true. Это причина, почему его плохое кодирование не использует строгое сравнение при работе со строками или где оно может быть использовано. Подробнее см. В [последней главе] (http://www.dereuromark.de/2013/01/22/cakephp-tips/). Правило должно быть «как можно более строгим». – mark

+0

ОК, спасибо большое –

Смежные вопросы