Web 開発では、配列のクエリが必要になることがよくあります。配列内の複数の値をクエリする必要がある場合がありますが、1 つずつ検索すると時間と労力がかかるだけでなく、非効率的になります。また、PHP は、配列内の複数の値をクエリする簡単な方法を提供します。
まず、以下に示すように、クエリ対象の配列を定義する必要があります:
$array = array("red", "blue", "green", "yellow", "white", "black");
この配列内の複数の値をクエリする必要があるとします。たとえば、次のようにする必要があります。配列内の「red」、「blue」、「black」をクエリする場合、PHP の array_intersect()
関数を使用してこれを実現できます。
この関数は 2 つ以上の配列を受け入れ、すべての配列に含まれる要素を含む新しい配列を返すことができます。
array_intersect()
関数を使用して複数の値をクエリする方法を見てみましょう。まず複数の値を配列に形成します:
$to_query = array("red", "blue", "black");
次に、array_intersect()
関数を使用して、この配列内の複数の値をクエリします:
$result = array_intersect($array, $to_query);
このようにして、$result
配列でクエリする必要がある複数の値を取得できます。 print_r()
関数を使用して、$result
配列を出力できます:
print_r($result);
出力結果は次のとおりです:
Array ( [0] => red [1] => blue [5] => black )
As you配列に「赤」、「青」、「黒」の 3 つの値をクエリしたことがわかります。出力結果の配列インデックスは元の配列のインデックスと同じであることに注意してください。
上で述べたように、array_intersect()
関数は複数の配列を受け入れることができるため、一度に複数の値のセットをクエリすることもできます。
もっと複雑な例を見てみましょう。複数のユーザーに関する情報を含む連想配列があるとします。
$users = array( array("name" => "Tom", "age" => 20, "gender" => "M"), array("name" => "Jack", "age" => 22, "gender" => "M"), array("name" => "Mary", "age" => 21, "gender" => "F"), array("name" => "Lucy", "age" => 19, "gender" => "F") );
次に、年齢が 19 歳または 22 歳、性別が男性であるユーザーに関する情報をクエリする必要があります。クエリ対象の条件を含む連想配列を形成できます:
$to_query = array("age" => array(19, 22), "gender" => "M");
この配列の最初の要素は、クエリ対象の 2 つの年齢値を含む配列です。2 番目の要素は、クエリ対象の性別値です。 。
その後、array_intersect()
関数を使用してクエリを実行できます。
function array_query($array, $to_query) { return array_filter($array, function ($item) use ($to_query) { foreach ($to_query as $key => $value) { if (!in_array($item[$key], (array)$value)) { return false; } } return true; }); } $result = array_query($users, $to_query);
ここでは array_query()
関数をカスタマイズしました。この関数は 2 つのパラメータを受け入れます。最初のパラメータはクエリ対象の配列で、2 番目のパラメータはクエリ対象の条件です。
関数は内部で PHP の array_filter()
関数と匿名関数を使用して配列をフィルタリングします。入力クエリ条件 $to_query
の場合、関数はまず、この条件に基づいて条件を満たす配列要素をフィルターします。
次に、結果をクエリ結果 $result
に返します。
最後に、print_r()
関数を使用してクエリ結果を出力できます:
print_r($result);
出力結果は次のとおりです:
Array ( [0] => Array ( [name] => Tom [age] => 20 [gender] => M ) [1] => Array ( [name] => Jack [age] => 22 [gender] => M ) )
Asご覧のとおり、条件を満たす 2 つのユーザー情報の照会が成功しました。
実際の開発では、配列に対して複数値のクエリを実行する必要があることがよくあります。この関数は、PHP の array_intersect()
関数を使用して簡単に実装できます。さらに、ニーズに応じてさらにカプセル化し、独自のニーズに合った機能を構築することもできます。
以上がPHP配列内の複数の値をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、酸とベースのデータベースモデルを比較し、その特性と適切なユースケースを詳述しています。酸は、財務およびeコマースアプリケーションに適したデータの整合性と一貫性を優先し、ベースは可用性に焦点を当て、

この記事では、コードインジェクションのような脆弱性を防ぐために、PHPファイルのアップロードを確保することについて説明します。ファイルタイプの検証、セキュアストレージ、およびアプリケーションセキュリティを強化するエラー処理に焦点を当てています。

記事では、組み込み関数、ホワイトリストアプローチ、サーバー側の検証などの手法に焦点を当てたセキュリティを強化するためのPHP入力検証のベストプラクティスについて説明します。

この記事では、Token BucketやLeaky BucketなどのアルゴリズムやSymfony/Rate-Limiterなどのライブラリを使用するなど、PHPでAPIレート制限を実装するための戦略について説明します。また、監視、動的に調整されたレートの制限、および手をカバーします

この記事では、パスワードを保護するためにPHPでpassword_hashとpassword_verifyを使用することの利点について説明します。主な議論は、これらの関数が自動塩の生成、強力なハッシュアルゴリズム、およびSecurを通じてパスワード保護を強化するということです

この記事では、PHPおよび緩和戦略におけるOWASPトップ10の脆弱性について説明します。重要な問題には、PHPアプリケーションを監視および保護するための推奨ツールを備えたインジェクション、認証の壊れ、XSSが含まれます。

この記事では、PHPでのXSS攻撃を防ぐための戦略について説明し、入力の消毒、出力エンコード、セキュリティを向上させるライブラリとフレームワークの使用に焦点を当てています。

この記事では、PHPでのインターフェイスと抽象クラスの使用について説明し、それぞれをいつ使用するかに焦点を当てています。インターフェイスは、無関係なクラスや複数の継承に適した、実装なしで契約を定義します。抽象クラスは共通の機能を提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

Dreamweaver Mac版
ビジュアル Web 開発ツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール
