ホームページ >バックエンド開発 >PHPの問題 >PHPで文字列が配列内にあるかどうかを判断する方法

PHPで文字列が配列内にあるかどうかを判断する方法

PHPz
PHPzオリジナル
2023-04-18 09:47:02564ブラウズ

PHP には、文字列が配列内にあるかどうかを判断するために使用できるメソッドが多数あります。実際のプログラミングでは、この要件は非常に一般的です。一般的な判断方法は次のとおりです。

  1. in_array 関数

PHP には in_array という組み込み関数があり、その構文は次のとおりです。 bool in_array (mixed $needle , array $haystack [, bool $strict = FALSE ] )

needle パラメータは検索する要素、haystack パラメータは検索する配列です。針が見つかった場合は TRUE を返し、そうでない場合は FALSE を返します。 strict パラメータが TRUE に設定されている場合、in_array 関数は針のタイプと値が同時に等しいかどうかをチェックします。

以下は例です:

<?php

$cars = array("Volvo", "BMW", "Toyota");

if (in_array("BMW", $cars)) {

echo "Found BMW!";

}

else{

echo "BMW not found!";

}

?>

出力結果は次のとおりです: Found BMW!

array_search function
  1. 別の関数がありますPHP の 1 つ 組み込み関数は array_search と呼ばれ、その構文は次のとおりです:

mixed array_search (mixed $needle , array $haystack [, bool $strict = FALSE ] )

この関数in_array 関数に似ていますが、配列内の要素の添字を返すことが異なります。要素が配列内に存在しない場合は、FALSE を返します。以下に例を示します。

<?php

$cars = array("Volvo", "BMW", "Toyota");

$pos = array_search("BMW", $cars);

if ($pos !== false) {

echo "Found BMW at index " . $pos;

}

else{

echo "BMW not found!";

}

?>

出力結果は次のとおりです。 Found BMW at Index 1

in_array および array_search を使用する場合の注意事項
  1. in_array を使用する場合array_search 関数を使用する場合、いくつかの注意事項があります。

1) 配列内に文字列が存在するかどうかを確認したい場合は、配列内の要素が文字列型であることを確認する必要があります。それ以外の場合は、strict パラメータが必須であり、TRUE に設定されます。

2) in_array 関数と array_search 関数は大文字と小文字を区別します。大文字と小文字を無視したい場合は、array_map 関数を使用して、配列内のすべての要素を小文字または大文字に変換してから検索できます。

3) 文字列が配列内にないかどうかを確認したい場合は、!in_array または array_search === false を使用できます。

概要:

文字列が配列内にあるかどうかを判断することは、PHP プログラムの一般的な要件です。PHP では、in_array 関数と array_search 関数を使用して迅速に判断できます。これら 2 つの関数を使用するときは、パラメーターの型と大文字小文字に注意する必要があります。

以上がPHPで文字列が配列内にあるかどうかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。