如果1不在array()中,代码应该返回FALSE而不是TRUE。你知道为什么吗?
<?php
var_dump(in_array(1, array('1:foo'))); // TRUE, why?
var_dump(in_array('1', array('1:foo'))); // FALSE
1 == '1:foo'
(因为(int)'1:foo' === 1
)。 - knittl