PHPの多次元配列で指定した値を見つけることはできますか?
PHP では、配列は非常に一般的なデータ構造であり、多次元配列は配列の特殊な形式です。多次元配列は配列とみなすことができ、各要素には配列が格納されます。実際の開発では、多次元配列から指定された要素を検索する必要がある場合がありますが、この目的を達成するために、PHP にはいくつかの組み込み関数と演算子が用意されています。
この記事では、PHP で多次元配列内の指定された要素を検索する方法を紹介し、読者が関連知識をよりよく理解して適用できるようにいくつかのコード サンプルを提供します。
1. array_search 関数を使用して、指定された値を検索します。
PHP には、配列内の指定された値を検索するために使用できる組み込み関数 array_search() が用意されています。配列を手動で走査します。この関数は、「緩和比較」方法を使用して検索します。つまり、比較に合同記号 === を使用する代わりに == を使用します。以下は、多次元配列で指定された値を検索するサンプル コードです。
/** * 查找多维数组中指定值 * * @param mixed $needle 需要查找的值 * @param array $haystack 目标多维数组 * @return mixed 返回找到的键名,如果未找到则返回false */ function searchValueInMultidimensionalArray($needle, $haystack) { foreach ($haystack as $key => $value) { $currentKey = $key; if ($needle == $value || (is_array($value) && searchValueInMultidimensionalArray($needle, $value) !== false)) { return $currentKey; } } return false; } // 示例用法 $multidimensionalArray = [ 'a' => [ 'b' => 'c', 'd' => 'e' ], 'f' => [ 'g' => [ 'h' => 'i', 'j' => 'k' ] ] ]; $searchValue = 'e'; $result = searchValueInMultidimensionalArray($searchValue, $multidimensionalArray); echo $result; // 输出a/d
上記のサンプル コードでは、多次元配列で指定された値を検索するために、searchValueInMulti次元Array() という名前のカスタム関数を定義しました。この関数は再帰的メソッドを使用して走査し、各走査中に array_search() 関数を使用して、現在の配列要素に検索対象の値が含まれているかどうかを検索します。
2. array_filter 関数を使用して、指定されたキー名またはキー値を検索します
特定の要素を検索することに加えて、多次元の要素のリストも検索する必要がある場合があります。指定された条件を満たす配列。 PHP には、特定の条件を満たす要素をフィルタリングするために使用できる組み込み関数 array_filter() が用意されています。また、検索するキー名またはキー値を指定することもできます。
次は、多次元配列で指定されたキー名を検索するサンプル コードです。
// 示例数组 $multidimensionalArray = [ 'a' => [ 'b' => 'c', 'd' => 'e' ], 'f' => [ 'g' => [ 'h' => 'i', 'j' => 'k' ] ] ]; // 查找键名为'b'的元素 $searchKey = 'b'; $filteredArray = array_filter($multidimensionalArray, function ($value, $key) use ($searchKey) { return $key == $searchKey; }, ARRAY_FILTER_USE_KEY); print_r($filteredArray);
上記のコードは、次の結果を出力します。上記のコードでは、array_filter () 関数を使用し、コールバック関数の $keys パラメーターを使用して現在の配列要素のキー名を表し、このキー名を使用して指定した検索キー名 ($searchKey) と比較します。 。
さらに、$ureKey パラメーターを使用して指定されたキー値を見つけることもできます。サンプル コードは次のとおりです:
Array ( [a] => Array ( [b] => c ) )
上記のコードは次の結果を出力します:
// 示例数组 $multidimensionalArray = [ 'a' => [ 'b' => 'c', 'd' => 'e' ], 'f' => [ 'g' => [ 'h' => 'i', 'j' => 'k' ] ] ]; // 查找键值为'k'的元素 $searchValue = 'k'; $filteredArray = array_filter($multidimensionalArray, function ($value, $key) use ($searchValue) { return is_array($value) ? in_array($searchValue, $value) : $value == $searchValue; }); print_r($filteredArray);
In 上記のコードでは、 is_array() 関数を使用して、現在の値も配列であるかどうかを判断します。そうであれば、 in_array() 関数を使用して、現在の配列に必要なキー値が含まれているかどうかを判断します。検索されること。そうでない場合は、== を使用して直接比較します。
概要
この記事では、PHP で多次元配列内の指定された要素を検索する方法を紹介し、読者が関連知識をよりよく理解して適用できるようにいくつかのコード サンプルを提供しました。実際の開発では、特定の条件を満たす多次元配列内の要素のリストを見つける必要がある場合は、PHP 組み込み関数 array_filter() を使用してフィルタリングすることができ、指定された要素を見つける必要がある場合は、 array_search() またはカスタム関数を使用して検索を横断します。これらの方法を柔軟に使用することで、さまざまな複雑な PHP アプリケーションをより効率的に開発することができます。
以上がPHPの多次元配列で指定した値を見つけることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

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

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

この記事では、PHPの対称的および非対称暗号化について説明し、適合性、パフォーマンス、セキュリティの違いを比較しています。対称暗号化はより速く、バルクデータに適していますが、非対称は安全なキー交換に使用されます。

この記事では、不正アクセスを防ぎ、ベストプラクティスの詳細、セキュリティ強化ツールの推奨を防ぐために、PHPで堅牢な認証と承認の実装について説明します。

記事では、PHPを使用してデータベースからデータを取得し、手順、セキュリティ対策、最適化手法、およびソリューションを使用した一般的なエラーをカバーしています。

この記事では、CSRFトークン、同じサイトCookie、適切なセッション管理など、PHPでのCSRF攻撃を防ぐための戦略について説明します。

この記事では、mysqlデータベースインタラクションのphpでmysqli_query()およびmysqli_fetch_assoc()関数について説明します。それは彼らの役割、違いを説明し、それらの使用の実用的な例を提供します。主な議論は、USINの利点に焦点を当てています
