Жонглирование типов и (строгое) большее / меньшее сравнение в PHP
PHP славится жонглированием шрифтами. Я должен признать, что это озадачивает меня, и мне трудно находить основные логические / фундаментальные вещи в сравнениях.
Например: если$a > $b
верно и$b > $c
верно, это должно означать, что$a > $c
являетсявсегд правда тоже?
Следуя базовой логике, я бы сказал,д Однако я озадачен тем, что не очень доверяю PHP в этом. Может быть, кто-то может привести пример, где это не та
Также мне интересно со строгими операторами «меньше» и «строго больше» (поскольку их значение описывается строго, как я знал в прошлом только из сравнений на равенство), если будет какая-то разница, если поменять местами левый и правый операнды со строго неравными значениями:
# Precondition:
if ($a === $b) {
throw new Exception(
'Both are strictly equal - can not compare strictly for greater or smaller'
);
}
($a > $b) !== ($b > $a)
Для большинства комбинаций сравнения типов этиgreater / меньшие операторы сравнения не документированы, поэтому чтение руководства не очень помогло в этом случае.