Ответ 1
Это связано с принуждением типа PHP. "000" по существу преобразуется только в 0
. Чтобы заставить его использовать строгую проверку типов, in_array()
принимает третий параметр.
var_dump(in_array("000", array(",00", ".00"), true));
выход:
bool(false)
EDIT: @andrekeller также указал, что ".00"
, вероятно, также преобразуется в int 0
. Мораль истории, не доверяйте PHP, чтобы получить правильные типы.