0

値が配列内にあるかどうかをPHPスクリプトで確認するにはどうすればよいですか? パスワード入力が配列内のパスワードと等しいかどうかを確認したい。

例 $input == "pass1" または "pass2" または "pass3" の場合

4

5 に答える 5

3

PHPマニュアルから:

bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) strict が設定されていない限り、緩い比較を使用して haystack からneedle を検索します。

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

別の方法は次のとおりです。

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

マーク B が彼のコメントで述べたことをほとんどコピーします。コード例は次のとおりです。

<?php
$os = array("Mac", "NT", "Irix", "Linux");
if (in_array("Irix", $os)) {
echo "Got Irix";
}
if (in_array("mac", $os)) {
echo "Got mac";
}
?>

この例では、「mac」が配列に含まれていないため、2 番目の if は失敗します。

于 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 に答える