PHP известен своим жужжанием типа. Я должен признать, что это меня озадачивает, и мне сложно найти основные логические/фундаментальные вещи в сравнении.
Например: Если $a > $b
истинно, а $b > $c
- true, значит, оно означает, что $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)
Для большинства комбинаций сравнения типов эти большие/меньшие операторы сравнения не документируются, поэтому чтение руководства в этом случае не очень полезно.