PHPで2つの配列の異なる部分を取得する方法
PHP は、Web 開発に広く使用されている人気のオープンソース スクリプト言語です。 PHP 開発者の日常業務では、2 つの配列を比較し、それらの間の異なる部分を見つけることが必要になることがよくあります。この記事では、さまざまな配列を実現するためのいくつかの方法を紹介します。
- array_diff() 関数
PHP の array_diff() 関数は、2 つの配列間の差異を比較するために使用できます。最初の配列が他の配列と異なる値のセットを返します。以下はサンプルコードです:
$a1 = array("apple", "orange", "banana"); $a2 = array("orange", "banana", "pear"); $result = array_diff($a1, $a2); print_r($result);
実行結果が出力されます:
Array ( [0] => apple )
- array_udiff() function
PHP は array_udiff も提供します() 関数。この関数を使用すると、配列内の値を比較するコールバック関数をカスタマイズできます。これは、より複雑なデータ比較に適した、より柔軟な方法です。サンプル コードは次のとおりです。
function my_array_diff($a1, $a2) { return strcmp($a1,$a2); } $a1 = array("apple", "orange", "banana"); $a2 = array("orange", "banana", "pear"); $result = array_udiff($a1, $a2, "my_array_diff"); print_r($result);
この関数は、最初の配列内の他の配列とは異なる値のセットも返します。
- array_diff_key() 関数
array_diff_key() 関数は、キーに対応する値ではなく、2 つの配列のキーを比較するために使用されます。最初の配列が他の配列と異なるキーのセットを返します。サンプル コードは次のとおりです。
$a1 = array("a" => "apple", "b" => "orange", "c" => "banana"); $a2 = array("a" => "orange", "b" => "banana", "d" => "pear"); $result = array_diff_key($a1, $a2); print_r($result);
$a2 には対応するキーがないため、この関数は $a1 にキー "c" を持つ要素のみを返します。
- 多次元配列の比較
多次元配列のさまざまな部分を比較する必要がある場合は、比較に再帰関数を使用する必要があります。以下は再帰関数のサンプル コードです。
function array_diff_recursive($array1, $array2) { $result = array(); foreach($array1 as $key => $value) { if(is_array($value)) { if(!isset($array2[$key]) || !is_array($array2[$key])) { $result[$key] = $value; } else { $diff = array_diff_recursive($value, $array2[$key]); if(!empty($diff)) { $result[$key] = $diff; } } } else if(!array_key_exists($key,$array2) || $array2[$key] !== $value) { $result[$key] = $value; } } return $result; }
この関数は 2 つの多次元配列を比較し、最初の配列が他の配列と異なる値のみを含む配列を返します。
概要
2 つの単純な配列を比較する必要がある場合でも、多次元配列を比較する必要がある場合でも、PHP にはそれを支援する組み込み関数が多数用意されています。 array_diff() 関数は 2 つの配列間の異なる部分を比較でき、array_udiff() 関数は配列内の値を比較するコールバック関数をカスタマイズできます。array_diff_key() 関数は 2 つの配列のキーを比較します。多次元配列の異なる部分を比較する必要がある場合は、比較に再帰関数を使用する必要があります。これらの方法を理解すると、配列の比較に関連するタスクを簡単に実行できるようになります。
以上がPHPで2つの配列の異なる部分を取得する方法の詳細内容です。詳細については、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の利点に焦点を当てています
