文字列が配列内に存在するかどうかを判断する必要がある場合がありますが、この状況は PHP では非常に一般的です。この記事では、配列内に文字が存在するかどうかをクエリするいくつかの異なる方法を示します。
方法 1: in_array() 関数を使用する
PHP では、in_array() 関数を使用して、値が配列内にあるかどうかを確認できます。この関数の構文は次のとおりです。
bool in_array(mixed $needle, array $haystack [, bool $strict = FALSE])
パラメータ $needle は、検索する値です。 、パラメータ $haystack は値を見つける配列です。パラメータ $strict はオプションであり、デフォルトは FALSE です。 TRUE の場合、厳密モードを使用して値を比較します。
サンプルコード:
//配列の定義
$fruits = array('apple', 'banana', 'orange', 'grape');
// 値が配列内にあるかどうかを確認します
if (in_array('apple', $fruits)) {
echo 'apple 在数组中';
} else {
echo 'apple 不在数组中';
}
出力結果 :
配列内のリンゴ
方法 2: array_search() 関数を使用する
配列内の値が存在するかどうかを確認する別の方法は、array_search() を使用することです。 ) 関数。この関数は、見つかった値のキー名を返し、見つからない場合は FALSE を返します。
サンプルコード:
//配列の定義
$fruits = array('apple', 'banana', 'orange', 'grape');
// 値を検索
$key = array_search('orange', $fruits);
if ($key !== false) {
echo 'orange 在数组中,键为:' . $key;
} else {
echo 'orange 不在数组中';
}
出力結果:
orange 配列内のキーは次のとおりです: 2
方法 3: in_array() 関数と array_search() 関数を組み合わせて使用します
in_array() 関数と array_search() 関数はさまざまな状況に対応できるため、配列内の値をクエリするために両方の関数を使用する必要がある場合があります。値が配列内にあるかどうかを確認する場合は in_array() 関数を使用でき、キー名を取得する必要がある場合は array_search() 関数を使用できます。
サンプルコード:
//配列の定義
$fruits = array('apple', 'banana', 'orange', 'grape');
// 値が配列内にあるかどうかを確認します
if (in_array('banana', $fruits)) {
// 获取键名 $key = array_search('banana', $fruits); echo 'banana 在数组中,键为:' . $key;
} else {
echo 'banana 不在数组中';
}
出力結果 :
banana 配列内のキーは次のとおりです: 1
方法 4: foreach を使用して配列をループする
PHP では、foreach を使用して次のこともできます。配列をループして、値が配列内にあるかどうかを判断します。このメソッドは in_array() 関数や array_search() 関数よりも簡潔ではありませんが、場合によっては理解しやすい場合があります。
サンプルコード:
//配列の定義
$fruits = array('apple', 'banana', 'orange', 'grape');
// 配列を走査します
foreach ($fruits as $key => $value) {
if ($value == 'orange') { echo 'orange 在数组中,键为:' . $key; break; }
}
出力結果:
orange 配列内では、 key 対象: 2
結論
どの方法を使用する場合でも、配列内に文字が存在するかどうかをクエリするのは非常に簡単です。いずれの場合も、 in_array() または array_search() 関数を使用して、値が配列内にあるかどうかを確認できます。キー名を取得する必要がある場合は、array_search() 関数を使用する必要があります。より柔軟な制御フローが必要な場合は、foreach ループを使用して配列を反復処理することも良い選択肢です。
以上がPHPで配列に文字が存在するかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。