【发布时间】:2015-01-16 14:41:39
【问题描述】:
1 不在 array() 中,代码应返回 FALSE 而不是 TRUE。你知道为什么吗?
<?php
var_dump(in_array(1, array('1:foo'))); // TRUE, why?
var_dump(in_array('1', array('1:foo'))); // FALSE
【问题讨论】:
-
Type coercion。
1 == '1:foo'(因为(int)'1:foo' === 1) -
php.net/manual/en/function.in-array.php 你应该检查文档页面。 in_array 需要第三个参数来进行类型敏感检查。
标签: php