For php7.1.2, NAN is interpreted like TRUE when is not a strict compare, so "Any loose or strict comparisons of this value against any other value, including itself, but except TRUE, will have a result of FALSE." it is partially true:
Code:
var_dump(NAN || FALSE);
var_dump(NAN && TRUE);
var_dump(NAN === FALSE);
var_dump(NAN === TRUE);
var_dump(NAN === "FDS");
var_dump(NAN === NAN);
var_dump(NAN == NAN);
var_dump(NAN == FALSE);
var_dump(NAN == TRUE);
result:
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(true)