Three reasons to make sure you know your programming language: <?php function test($code) { $result = @eval("return ({$code});"); print ($result ? 'true ' : 'false ') . "$code\n"; } test( "gettype(key(array('s' => ''))) == 'string'" ); test( "gettype(key(array('1' => ''))) == 'string'" ); test( "'s' == 0" ); test( "0 == 's'" ); test( "\$x == \$x++" ); test( "(int)\$x == \$x++" ); And here's