TL; DR
"" PHP. , , , - , .
, PHP ( ). PHP , compare_function, . . , :
case TYPE_PAIR(IS_STRING, IS_STRING):
zendi_smart_strcmp(result, op1, op2);
return SUCCESS;
TYPE_PAIR, , .
zendi_smart_strcmp. " " PHP, . :
if ((ret1=is_numeric_string_ex(Z_STRVAL_P(s1), Z_STRLEN_P(s1), &lval1, &dval1, 0, &oflow1)) && (ret2=is_numeric_string_ex(Z_STRVAL_P(s2), Z_STRLEN_P(s2), &lval2, &dval2, 0, &oflow2)))
{
}
else
{
string_cmp:
Z_LVAL_P(result) = zend_binary_zval_strcmp(s1, s2);
ZVAL_LONG(result, ZEND_NORMALIZE_BOOL(Z_LVAL_P(result)));
}
long double - , , float: , , PHP - - , , ( , "1000" "1e3" ==, "255" "0xFF" - "e" () , )
, :
var_dump("0e8" == "0e6"); //true
md5. , ( , 0 x 10^8 == 0 x 10^6). , . , : === :
var_dump("0e8" === "0e6"); //false
, PHP - ( , ). , .