如果我有这段代码:
$result = 1;
$square = array(
"00" => -1,
"0" => 0,
"1" => 1,
);
想知道$ result是否等于$ square(-1,0或1)的数组VALUES。
我猜测应该有一个函数将变量与所有数组的值进行比较,并相应地重新调整TRUE或FALSE。
如果没有这样的功能,我愿意接受你可能隐藏的任何建议和/或解决方法:)
提前致谢
答案 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。查看代码示例的底部。