I recently fixed a bug in a program where in_array was returning true for an unmatched string value. The string '$500' is not contained in the array. If you run this script the check will return true.
If you pass true for strict mode it will work. Is this a bug in PHP or is there something going on here that I don't understand?
<?php
$ZeroCheck = ["none", "zero","","0",0,"0%","$0"];
var_dump(in_array('$500', $ZeroCheck));
//returns true.. should return false.. strict works.. but why?