当key存在时,in_array返回false

Cyc*_*one 0 php arrays

这是我的阵列:

$int = array (
    1 => "Items1",
    2 => "Items2",
    3 => "Items3",
    4 => "Items4"
);
Run Code Online (Sandbox Code Playgroud)

当我这样做时:

var_dump(in_array( 4 , $int ));
Run Code Online (Sandbox Code Playgroud)

它正在回归:bool (false).我读过这是由给定的对象引起的,而不是数组,但是没有任何解决方案吗?

Cod*_*ter 11

in_array:检查数组中是否存在.

你需要array_key_exists().


amd*_*amd 6

如果你想测试关键用途的存在:

array_key_exists($key, $searcharray)
Run Code Online (Sandbox Code Playgroud)

in_array值的功能测试而不是键的功能测试


Sjo*_*erd 5

in_array只检查值,因此在您的情况下"Items1".."Items4".如果您想知道数组是否有某个键,请使用array_key_exists.

var_dump(array_key_exists(4, $int));
Run Code Online (Sandbox Code Playgroud)