0

PHP 脚本如何检查一个值是否在数组中?我希望它检查密码输入是否等于数组中的密码。

例如,如果 $input == "pass1" 或 "pass2" 或 "pass3"

4

5 回答 5

3

来自php手册:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) 除非设置了严格,否则使用松散比较搜索 haystack 中的针。

if(in_array($input, $somearray)){ .. }
于 2012-04-03T22:04:15.327 回答
1

用于检查变量是否在数组中的 PHP 函数是in_array.

像这样:

if (in_array($input, array("pass1", "pass2", "pass3")) {
 // do something
}
于 2012-04-03T22:03:50.977 回答
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”。

于 2012-04-03T22:05:50.453 回答
0

有几种方法。in_array是一个,foreach是另一个。我不知道哪个更快,但您可以这样做foreach

foreach ($array as $a) {
 if ($a == "correct password") {
  //do something
 }
}
于 2012-04-03T22:05:56.447 回答
0

这是另一种方式,

if(count(array_intersect(array($input), array("pass1", "pass2", "pass3"))) > 0){
     //do stuff
} 
于 2013-12-30T16:20:12.357 回答