在数组中搜索变量()

时间:2010-10-19 04:15:19

标签: php arrays search variables function

如果我有这段代码:

$result = 1;

$square = array(

"00" => -1,
"0" => 0,
"1" => 1,

);

想知道$ result是否等于$ square(-1,0或1)的数组VALUES。

我猜测应该有一个函数将变量与所有数组的值进行比较,并相应地重新调整TRUE或FALSE。

如果没有这样的功能,我愿意接受你可能隐藏的任何建议和/或解决方法:)

提前致谢

5 个答案:

答案 0 :(得分:3)

您正在寻找in_array()

$result = 1;
$square = array( "00" => -1, "0" => 0, "1" => 1, );

if (in_array($result, $square)) {
    echo "Found something!";
}

答案 1 :(得分:1)

in_array应该适合你。

if(in_array($result, $square)) {
   //$result is in there.
}

答案 2 :(得分:1)

如果你的阵列很大(> 500个元素),你会想要这样做:

$flip_square = array_flip($square);
return isset($flip_square["string_to_search_for"]);

如果你不这样做,它可能会非常慢。这比in_array()快许多倍。

答案 3 :(得分:0)

if(array_search($result,$square)===false) { echo "DNE"; }

请注意===

编辑:切换功能参数 - 抱歉

答案 4 :(得分:-1)

php中有一个函数可以执行此操作。它被称为array_search();对于上面的代码,您将使用

if(false !== array_search($square, $result)){
echo "Found something";
}

可以找到文档的链接here。查看代码示例的底部。