PHP脚本如何检查值是否在数组中? 我希望它检查密码输入是否等于数组中的密码。
e.g。 if $ input ==“pass1”或“pass2”或“pass3”
答案 0 :(得分:3)
来自php手册:
bool in_array(混合$ needle,数组$ haystack [,bool $ strict = FALSE])使用松散比较搜索干草堆的针,除非 严格确定。
if(in_array($input, $somearray)){ .. }
答案 1 :(得分:1)
用于检查变量是否在数组中的PHP函数是in_array
。
像这样:
if (in_array($input, array("pass1", "pass2", "pass3")) {
// do something
}
答案 2 :(得分:0)
几乎复制了Marc B在评论中所说的内容,示例代码是
<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>
在这个例子中,第二个if会失败,因为“mac”不包含在数组中。
答案 3 :(得分:0)
有几种方法。 in_array
是一个,foreach
是另一个。我不知道哪个更快,但这是你用foreach
:
foreach ($array as $a) {
if ($a == "correct password") {
//do something
}
}
答案 4 :(得分:0)
这是另一种方式,
if(count(array_intersect(array($input), array("pass1", "pass2", "pass3"))) > 0){
//do stuff
}