ホームページ > バックエンド開発 > PHPチュートリアル > 配列内の検索要素とキー名を照合する PHP 配列操作

配列内の検索要素とキー名を照合する PHP 配列操作

WBOY
リリース: 2023-04-10 19:22:01
オリジナル
4529 人が閲覧しました

前回の記事『PHPで文字列を比較するには? (例の詳細な説明) "では、PHPで2つの文字列を比較する方法についての関連知識を詳しく紹介しました。この記事では、PHPの配列演算の関連知識を見ていきます。よろしくお願いします。誰にとっても役立ちます。役に立ちます!

配列内の検索要素とキー名を照合する PHP 配列操作

前の記事では、文字列は strcmp() 関数と strcasecmp() 関数を通じて処理できることを学びました。比較、文字列は PHP の重要なデータ型の 1 つです。PHP 開発プロセスでもう 1 つの非常に重要なデータ型は配列です。文字列は比較、位置決め、置換などができることを学びました。重要な配列に対する一般的な操作?

前回の記事「PHPで文字列や配列の要素を見つけるには?」 >>文字列と配列内の要素を検索して配置する方法について説明しました。preg_grep() 関数を使用して配列要素を配置して検索できることを説明しました。さらに多くの方法を見てみましょう。配列内の要素を見つけて検索します。

<strong><span style="font-size: 20px;">in_array</span></strong>() 関数 - 配列要素と一致し、ブール値

を返します。

PHP では、in_array() 関数を使用して配列内の要素を検索できます。in_array() 関数の基本的な構文形式は次のとおりです:

in_array(search,array,type)
ログイン後にコピー

注意する必要があるのは、パラメータ search は配列内で検索する必要がある値を表し、パラメータ array は検索する必要のある配列を表し、パラメータtype はオプションのパラメータです。パラメータの値が true の場合、検索中に、検索されたデータと検索された配列のデータ型が同じであるかどうかがチェックされます。

検索する必要がある値が配列内に見つかった場合、関数によって返される結果は true です。検索する必要のある値が配列内に見つからなかった場合は、関数によって返される結果は true です。 、返される結果 結果は

false

です。

次に、簡単な例を通して、PHP での in_array() 関数の適用を見てみましょう。例は次のとおりです:

<?php
$people = array("Bill", "bob", "Mark", "coc");
if (in_array("23", $people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
  echo &#39;<br/>&#39;;
if (in_array("Mark",$people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
  echo &#39;<br/>&#39;;
if (in_array("bill",$people, TRUE))
  {
  echo "在数组中";
  }
else
  {
  echo "不在数组中";
  }
?>
ログイン後にコピー

出力結果: 配列内の検索要素とキー名を照合する PHP 配列操作

上記の例では、3 回目の検索時に小文字を使用したため一致しませんでしたが、注意する必要があるのは、検索する必要がある内容が文字列である場合です。 、パラメータのタイプが true に設定されている場合、検索では大文字と小文字が区別されます。 <strong><span style="max-width:90%"></span>#array_search</strong>() 関数 - 配列要素と一致し、キー名を返します

上記の in_array 関数の知識は、単に配列内に検索する必要がある要素があるかどうかを判断するために検索するだけです。要素を見つける方法はありません。要素を正確に見つけて見つけたい場合は、 PHP では、要素を検索できる array_search

() 関数を使用できます。返される結果は、検索している要素のキー名です。

array_search

() 関数の基本的な構文形式は次のとおりです。

array_search(value,array,strict)
ログイン後にコピー
注意する必要があるのは、パラメータ value が何であるかということです。キー値を検索する必要があります。パラメータ array は検索する必要がある配列です。パラメータ strict はオプションのパラメータです。このパラメータはデフォルトで flase です。パラメータが設定されている場合 true
の場合、検索時に検索データと検索配列のデータ型が同じかどうかをチェックします。

対応するキー値が配列内で検索された場合、返される結果は、キー値に対応するキー名です。一致しない場合、返される結果は false です。注意が必要です。複数のキー値が一致した場合、この時点で返される結果は、そのキー値に最初に一致したキー名です。

例を通して array_search

関数の使用法を見てみましょう。例は次のとおりです:

<?php
$a=array("a"=>"5","b"=>5,"c"=>"5");
echo array_search(5,$a,true) . &#39;<br/>&#39;;
$array = array(0 => &#39;blue&#39;, 1 => &#39;red&#39;, 2 => &#39;green&#39;, 3 => &#39;red&#39;);
echo array_search(&#39;green&#39;,$array,true);
?>
ログイン後にコピー

出力結果:

配列内の検索要素とキー名を照合する PHP 配列操作

パラメータを true に設定すると、配列を検索して照合するときに、データ形式が異なると検索結果が異なることに注意してください。

<strong><span style="max-width:90%">#array_key_exists</span></strong>##() 関数 - 配列キー名と一致し、ブール値を返します

上記では、

array_search 関数を使用して、検索キー値を通じて検索要素のキー名を出力できますが、PHP では、キー名を直接検索することもできます。これは、PHP の array_key_exists 関数を使用します。

array_key_exists関数の基本的な構文形式は次のとおりです:

array_key_exists(key,array)
ログイン後にコピー

其中需要注意的是:参数key表示的就是我们需要所搜的键名,参数array标识的就是我们需要进行搜索的数组,

通过array_key_exists函数只能够判断一维数组中的键名不能判断多维数组中数组内的键名,如果在数组中匹配到了指定的键名,该函数返回的结果就是true,如果数组中没有匹配到。返回的结果就是flase。

下面我们通过示例来看一下array_key_exists函数的使用,示例如下:

<?php
$people = array("Bill", "a"=>"bob", "Mark", "coc");
if (array_key_exists(0, $people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
  echo &#39;<br/>&#39;;
if (array_key_exists("a",$people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
  echo &#39;<br/>&#39;;
if (array_key_exists("coc",$people,))
  {
  echo "键名存在";
  }
else
  {
  echo "键名不存在";
  }
?>
ログイン後にコピー

输出结果:

配列内の検索要素とキー名を照合する PHP 配列操作

由此我们便通过array_key_exists来进行在一个数组中找到一个指定的键。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

以上が配列内の検索要素とキー名を照合する PHP 配列操作の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート