我如何检查一个特定的整数是否在数组内?

时间:2010-05-22 13:08:11

标签: php

是否有特定的方法来检查交换机语句中的特定整数。

例如。

$user = $ads[$i]->from_user;

在上面的表达式中检查数字2为$ i。

3 个答案:

答案 0 :(得分:2)

您可以查看:

if ($ads[$i] === 2)
{
 // code here
}

或者,如果你的意思是独自一人,你可以这样做:

if ($i === 2)
{
 // code here
}

如果字符串表示中的数字(类型),则应使用==而不是===

但是,如果你的意思是数组$ads中是否存在2:

if (in_array(2, $ads))
{
 // 2 found in $ads array
}

答案 1 :(得分:1)

如果我理解正确,您想要检查2中是否存在密钥$ads

if(array_key_exists(2, $ads)) {
    // the key 2 exists in the array
}

这样,您应该在常量时间O(1)中得到结果,因为array_key_exists是通过哈希表查找实现的。

in_array需要线性时间O(n)

答案 2 :(得分:0)

它更简单,您可以使用===运算符将您的值与其数据类型匹配