in_array() 返回错误的值


in_array() returns wrong values?

我在PHP函数中发现了一个奇怪的错误in_array()

下一个代码返回TRUE但它是错误的值。谁能告诉我我做错了什么?

<?php
var_dump(in_array(0, array('a', 'ab', 'abc')));

现场演示:http://sandbox.onlinephpfunctions.com/code/81013d156637fd06557b632f102d52f72d0f9d77

我当然知道我可以执行in_array(0, array('a', 'ab', 'abc'), true)但是为什么没有这个true这个函数就不能很好地工作。

你必须严格设置

var_dump(in_array(0, array('a', 'ab', 'abc'), true));

in_array你必须设置type

语法:

in_array(search,array,type);
var_dump(in_array(0, array('a', 'ab', 'abc'), true));

注: 如果搜索参数是字符串并且类型参数设置为 TRUE,则搜索区分大小写

http://php.net/manual/en/function.in-array.php