ホームページ バックエンド開発 PHPチュートリアル PHPのarray_intersect_uassoc()関数の使い方を詳しく解説

PHPのarray_intersect_uassoc()関数の使い方を詳しく解説

Jun 27, 2023 am 09:21 AM
php 関数 array_intersect_uassoc()

array_intersect_uassoc() は、PHP 言語の非常に便利な関数です。2 つ以上の配列のキーとキー値を比較し、すべての配列のすべてのキーの合計を含む新しい配列を返すために使用できます。入力配列 キー値の共通部分。この記事では、array_intersect_uassoc()関数の使い方を詳しく紹介し、わかりやすい例をいくつか紹介します。

基本的な使用例は次のとおりです:

$array1 = array("a" => "green", "b" => "blue", "c" => "red");
$array2 = array("a" => "green", "b" => "blue", "d" => "yellow");
$result = array_intersect_uassoc($array1, $array2, "compareFunc");
print_r($result);
ログイン後にコピー

この例では、$array1 と $array2 という 2 つの配列があり、どちらにもいくつかの異なるキーと対応するキー値が含まれています。これら 2 つの配列を array_intersect_uassoc() 関数に渡し、「compareFunc」という名前のコールバック関数を指定します。この関数は、配列要素間の関係を比較し、整数値を返すことによってそれらの関係を表します。この例では、配列変数 $result の値を出力して、関数によって返される共通部分を確認します。

配列のキーとキー値を比較するために使用されるコールバック関数を定義する必要があることに言及する価値があります。 $key1 および $key2 パラメーターはそれぞれ 2 つの配列のキー名を受け取り、$value1 および $value2 パラメーターはそれぞれ 2 つの配列のキー値を受け取ります。この関数では、文字列比較に strcmp() 関数を使用します。この関数は、2 つの文字列が等しい場合は 0 を返し、そうでない場合は正または負の値を返します。

function compareFunc($key1, $key2, $value1, $value2)
{
    $cmp_key = strcmp($key1, $key2);
    if ($cmp_key == 0) {
        $cmp_value = strcmp($value1, $value2);
        return $cmp_value;
    } else {
        return $cmp_key;
    }
}
ログイン後にコピー

前の手順でカスタムの CompareFunc() 関数を 3 番目のパラメーターとして array_intersect_uassoc() 関数に渡したため、この関数は 2 つの配列を比較するときに呼び出されます。配列に次の要素があるとします。

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4);
$array2 = array("a"=>1, "b"=>3, "c"=>5, "d"=>6);
ログイン後にコピー
ログイン後にコピー

array_intersect_uassoc($array1, $array2, "compareFunc") を実行すると、両方の入力配列に要素が存在する新しい配列が返されます。この例: array("a"=>1)。

文字列比較関数を使用して配列要素を比較することに加えて、array_intersect_uassoc() 関数は、比較のためのカスタム比較関数の使用もサポートします。たとえば、次の 2 つの配列があるとします。

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4);
$array2 = array("a"=>1, "b"=>3, "c"=>5, "d"=>6);
ログイン後にコピー
ログイン後にコピー

さまざまなコールバック関数を使用して、これら 2 つの配列を比較できます。 1 つは 2 つの整数を比較し、もう 1 つは 2 つの文字列を比較します。比較関数は次のように実装できます:

function compareFuncInt($a, $b)
{
   if($a === $b) return 0;
   return ($a > $b) ? 1 : -1;
}

function compareFuncStr($a, $b)
{
    return strcmp($a, $b);
}
ログイン後にコピー

array_intersect_uassoc() 関数を呼び出すときは、別の比較関数を指定するだけです:

$result1 = array_intersect_uassoc($array1, $array2, "compareFuncInt");
$result2 = array_intersect_uassoc($array1, $array2, "compareFuncStr");
ログイン後にコピー

この例では、カスタムの CompareFuncInt を使用します。 () 関数と CompareFuncStr() 関数。前者は整数の比較に使用され、後者は文字列の比較に使用されます。比較関数の後、簡単に表示できるように、比較全体の結果を別の結果配列に保存します。

つまり、 array_intersect_uassoc() は、複数の配列のキーとキー値を比較し、それらの共通部分を出力できる強力で柔軟な関数です。この機能にはさまざまな使用法と構成オプションがあるため、実際のニーズに応じて柔軟に使用する必要があります。

以上がPHPのarray_intersect_uassoc()関数の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

See all articles