ホームページ  >  記事  >  バックエンド開発  >  PHPで配列に特定の値が含まれているかどうかを確認する方法

PHPで配列に特定の値が含まれているかどうかを確認する方法

PHPz
PHPzオリジナル
2023-04-19 09:17:05839ブラウズ

PHP 開発では、配列は非常に一般的に使用されるデータ構造です。配列を使用するプロセスでは、配列に特定の値が含まれているかどうかを判断することがよくあります。この記事では、PHP で配列に特定の値が含まれているかどうかをすばやく判断する方法を簡単に紹介し、参考用のサンプル コードをいくつか示します。

1. in_array() 関数を使用して、配列に特定の値が含まれているかどうかを確認する PHP では、in_array() 関数を使用して、配列に特定の値が含まれているかどうかをすばやく確認できます。この関数は 2 つのパラメータを受け取ります。最初のパラメータは検索する値、2 番目のパラメータはクエリする配列です。値がクエリされた場合は true が返され、それ以外の場合は false が返されます。

サンプルコード:

$arr = array('php', 'java', 'python', 'ruby');
if (in_array('php', $arr)) {
  echo '该数组中包含php';
} else {
  echo '该数组中不包含php';
}

出力:

该数组中包含php

2. array_search() 関数を使用して判断します

もう 1 つの一般的に使用される関数は、array_search() です。この関数は in_array() に似ており、配列に特定の値が含まれているかどうかを迅速に判断できます。違いは、array_search() 関数が true または false を返すのではなく、一致するキー名を返すことです。

サンプルコード:

$arr = array('php', 'java', 'python', 'ruby');
$key = array_search('php', $arr);
if ($key !== false) {
  echo '该数组中包含php,其键名为:' . $key;
} else {
  echo '该数组中不包含php';
}

出力:

该数组中包含php,其键名为:0

array_search() は一致したキー名を返すため、戻り値が false かどうかを判断する必要があることに注意してください。 if(array_search('php', $arr)) を直接使用する代わりに。

3. あいまい一致には in_array() 関数と array_search() 関数を使用します

配列に特定の値が含まれているかどうかを判断するために、あいまい一致が必要になる場合があります。たとえば、配列に文字列「php」が含まれているかどうかを確認する必要があります。正規表現を in_array() および array_search() 関数と組み合わせて使用​​すると、あいまい一致を実行できます。

サンプル コード:

$arr = array('welcome to php world', 'java is the best language', 'I love python', 'ruby on rails');
$pattern = '/.*php.*/i'; // 匹配包含php字样的字符串
foreach ($arr as $value) {
  if (preg_match($pattern, $value)) {
    if (in_array($value, $arr)) {
      echo $value . ' 存在于数组中';
    } else {
      $key = array_search($value, $arr);
      echo $value . ' 的键名为:' . $key . ',但其实际不在数组中';
    }
  }
}

出力:

welcome to php world 存在于数组中

要約

PHP では、in_array() と array_search を使用して、配列に特定の値 () 関数を完了します。 2 つの関数の違いは戻り値の型です。なお、あいまい一致の際には、in_array()、array_search()関数と正規表現を組み合わせて判定する必要があります。

以上がPHPで配列に特定の値が含まれているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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