2015-02-27 11 views
0

Связаны ли с реляционными операторами меньше, чем, gte, lte использование преобразования типа? Если они это сделают, то почему нет строгих операторов сравнения сравнения, таких как! == или ===?Имеют ли реляционные операторы меньше, чем, gte, lte использование преобразования типов в PHP?

+0

Что должен вернуть этот оператор? Предположим, что существует строгий меньший или равный оператор. Что было бы результатом «1» ==> 1 и 1 ==> «1»? – sectus

+0

, если это было «1» <== "1", тогда оно вернет true, но как! == и ===, если оно было «1» <== 1, тогда оно вернет false, потому что theyre не то же самое тип. – Masu

+0

И 1 <== "1" тоже вернет ложь? – sectus

ответ

0

Нет, они не являются строгими.

Они могут сравнивать большинство типов друг против друга и при необходимости отбрасывать. Например, есть поддержка для сравнения строк:

$true = "a" < "b"; 

Внутренне это zendi_smart_strcmp().

Если вы хотите выполнить строгие сравнения, вы можете просто проверить типы самостоятельно или при необходимости нанести.

+0

спасибо. почему нет строгих <== or > == операторов? если theyre обоих одинакового типа, верните сравнение, если theyre не тот же самый тип всегда возвращает false. – Masu

+0

Потому что строгие варианты обычно не нужны, и такие операторы выглядят супер странно. – mario