PHP 開発では、文字列が配列内にあるかどうかのクエリは非常に一般的な操作です。この記事では、文字列が PHP 配列内にあるかどうかを確認するいくつかの方法を検討します。
方法 1: in_array() 関数を使用する
PHP の in_array() 関数は、配列内に値が存在するかどうかを確認するために使用されます。この関数を使用して、文字列が配列内にあるかどうかを確認できます:
$array = array('apple', 'banana', 'orange', 'grape'); if (in_array('banana', $array)) { echo 'Found'; } else { echo 'Not Found'; }
このコードは次のように出力します: Found.配列内に「バナナ」が存在するためです。
以下では、別の文字列 'watermelon' を検索するように変更します:
$array = array('apple', 'banana', 'orange', 'grape'); if (in_array('watermelon', $array)) { echo 'Found'; } else { echo 'Not Found'; }
このコードは次のように出力します: 'watermelon' が配列にないため、見つかりません。
方法 2: array_search() 関数を使用する
次に、文字列が PHP 配列内にあるかどうかを確認する別の方法を見てみましょう。 array_search() 関数を使用します:
$array = array('apple', 'banana', 'orange', 'grape'); if (array_search('banana', $array)) { echo 'Found'; } else { echo 'Not Found'; }
このコードは次のように出力します: Found.配列内に「バナナ」が存在するためです。
以下では、別の文字列 'watermelon' を検索するように変更します:
$array = array('apple', 'banana', 'orange', 'grape'); if (array_search('watermelon', $array)) { echo 'Found'; } else { echo 'Not Found'; }
このコードは次のように出力します: 'watermelon' が配列にないため、見つかりません。
方法 3: in_array() 関数と strto lower() 関数を使用する
上記 2 つの方法では、大文字と小文字の問題を考慮していませんでした。したがって、次のメソッドは大文字と小文字を無視します。
$array = array('Apple', 'Banana', 'Orange', 'Grape'); $search_term = 'banana'; if (in_array(strtolower($search_term), array_map('strtolower', $array))) { echo 'Found'; } else { echo 'Not Found'; }
array_map() 関数を使用して配列全体を横断する文字列を処理し、strto lower() 関数を使用して文字列を小文字に変換し、新しい配列の中央に格納します。次に、 in_array() 関数を使用して、指定された文字列が新しい配列内にあるかどうかを確認します。
代わりに、「Watermelon」などの別の文字列を検索すると:
$array = array('Apple', 'Banana', 'Orange', 'Grape'); $search_term = 'Watermelon'; if (in_array(strtolower($search_term), array_map('strtolower', $array))) { echo 'Found'; } else { echo 'Not Found'; }
「Watermelon」に一致する文字列が新しい配列にないため、「Not Found」が出力されます。
この時点で、配列内に文字列が存在するかどうかをチェックするための PHP の 3 つの異なる方法を習得しました。パフォーマンスの観点から見ると、in_array() 関数と array_search() 関数はより効率的であり、配列要素全体を走査する必要がありません。
以上がPHPを使用して文字列が配列内にあるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。