PHP開発では、特に指定された文字列が配列に属しているかどうかを判断するために、アレイ内の要素を判断および処理する必要があることがよくあります。この記事では、この操作をPHPで実装する方法を詳細に説明します。
PHPは、組み込みのin_array()関数を提供します。これは、要素が配列に存在するかどうかを判断するために使用できます。この関数の2つの主なパラメーターは、見つかる要素と配列です。
$fruits = array('apple', 'banana', 'grape', 'orange');
if (in_array('apple', $fruits)) {
echo "文字列が配列に存在することを指定します";
} else {
echo "指定された文字列は配列に存在しません";
}
このコードでは、果物の名前を含む配列$フルーツを定義し、in_array()を使用して、弦「Apple」が配列に存在するかどうかを判断します。
in_array()に加えて、phpはarray_search()関数も提供して、配列内の要素の位置を見つけます。要素が見つかった場合、関数は配列内の要素のキー名を返します。それ以外の場合、それはfalseを返します。
$fruits = array('apple', 'banana', 'grape', 'orange');
$key = array_search('apple', $fruits);
if ($key !== false) {
echo "文字列が配列に存在することを指定します,場所はです:" . $key;
} else {
echo "指定された文字列は配列に存在しません";
}
このコードでは、array_search()関数を使用して、配列内の文字列「Apple」の位置を見つけ、対応するキー名を返します。
組み込み関数を使用することに加えて、Arrayをループして、要素が指定された文字列に1つずつ等しいかどうかを判断することもできます。
$fruits = array('apple', 'banana', 'grape', 'orange');
$found = false;
foreach ($fruits as $fruit) {
if ($fruit === 'apple') {
$found = true;
break;
}
}
if ($found) {
echo "文字列が配列に存在することを指定します";
} else {
echo "指定された文字列は配列に存在しません";
}
このコードでは、配列要素を反復し、指定された文字列と1つずつ比較します。一致が見つかった場合は、$を真に設定し、ループを終了します。
厳密なタイプマッチング判断を使用する場合(つまり、要素の種類が一貫していることを確認してください)、IN_ARRAY()関数に3番目のパラメーターを追加して、それをtrueに設定できます。
$fruits = array('1', '2', '3', '4');
if (in_array(1, $fruits, true)) {
echo "文字列が配列に存在することを指定します";
} else {
echo "指定された文字列は配列に存在しません";
}
この例では、配列$フルーツの要素はすべて文字列型であり、Strictモードを使用して、番号1が配列に存在するかどうかを判断します。厳密なパターンは要素のタイプと一致するため、 '1'は1と一致しません。
PHPでは、指定された文字列が、in_array()、array_search()、foreachループを使用するなど、さまざまな方法で配列に属しているかどうかを判断できます。 in_array()は最も一般的に使用されるメソッドであり、要素が存在するかどうかを判断し、array_search()は要素のインデックス位置を返し、foreachループは比較のために配列要素を1つずつ実行します。
さらに、Strictモード(3番目のパラメーターをTRUEに設定する)を有効にすることにより、値の平等がチェックされるだけでなく、審査時にデータ型の一致が確認されることが保証されます。