В настоящее время я работаю с «Программированием PHP» О'Рейли и наткнулся на таблицу под названием «Тип сравнения, выполняемый операторами сравнения»:
First Operand | Second Operand | Comparison
-----------------------------------------------------------------------
Number | Number | Numeric
String that is numeric | String that is numeric | Numeric
String that is numeric | Number | Numeric
String that is not numeric | Number | Lexicographic
String that is numeric | String that is not numeric | Lexicographic
String that is not numeric | String that is not numeric | Lexicographic
Мое эмпирическое правило, для которого выполняется сравнение, было «числовым, если и только если хотя бы один операнд является числом или оба операнда являются числовыми строками». По-видимому, это поддерживается страницей php.net в Операторах сравнения , которая гласит: «Если вы сравниваете целое число со строкой, строка преобразуется в число. Если вы сравниваете две числовые строки, они по сравнению с целыми числами. "
Однако это будет означать, что сравнение в четвертом ряду таблицы должно быть «Числовым». Таблица содержит ошибку или мое правило неверно?