2 つの PHP 多次元配列を比較する方法

藏色散人
リリース: 2019-02-01 17:31:59
オリジナル
15204 人が閲覧しました


# 2 つの多次元配列が等しいかどうか、またはどの要素が異なるかを判断します。 PHP の array_udiff() 関数、create_function() メソッド、strcmp () およびその他の関数を通じて比較を行うことができます。

2 つの PHP 多次元配列を比較する方法

次に、2 つの 2 次元配列を比較する方法を、具体的なコード例とともに紹介します。

コード例は次のとおりです。

<?php

//多维数组比较
$color1 = array(array(&#39;Red&#39;,80),array(&#39;Green&#39;,70),array(&#39;white&#39;,60));
$color2 = array(array(&#39;Green&#39;,70),array(&#39;Black&#39;,95));

$color = array_udiff($color1,$color2,create_function(
&#39;$a,$b&#39;,&#39;return strcmp(implode("",$a),implode("",$b));&#39;)
);

echo "<pre class="brush:php;toolbar:false">";

print_r($color);
ログイン後にコピー

このコードでは、$color2 配列と比較して、$color1 配列のさまざまな配列要素を取得できます。

出力された比較結果は次のとおりです:

2 つの PHP 多次元配列を比較する方法

関数の紹介:

1. array_udiff: コールバック関数を使用してデータを比較し、配列の差分セットを計算します

array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array
ログイン後にコピー

コールバック関数を使用してデータを比較し、配列間の違い。 array_diff() とは異なり、前者はデータ比較に組み込み関数を使用します。

パラメータ array1 は最初の配列を表します。 array2 2 番目の配列。 value_compare_func コールバック比較関数。

最初の引数が 2 番目の引数より小さい、等しい、または大きい場合、比較関数はそれに応じて 0 より小さい、0 と等しい、または 0 より大きい整数を返さなければなりません。

callback (mixed $a,mixed $b): int

戻り値、array1 内の他のパラメータに現れないすべての値を返します。

2, create_function: 匿名関数の作成

create_function ( string $args , string $code ): string
ログイン後にコピー

渡されたパラメータに基づいて匿名関数を作成し、割り当てますit to 一意の名前を返します。

通常、これらのパラメータは一重引用符で区切られた文字列として渡されます。一重引用符で囲んだ文字列を使用する理由は、変数名が解析されないように保護するためです。そうでない場合、二重引用符を使用する場合は、変数名をエスケープする必要があります (\$avar など)。


args は関数のパラメータを表します。 code は機能コードを表します。

戻り値は、文字列または FALSE エラーの形式で返される一意の関数名です。

3. strcmp: バイナリ セーフな文字列比較

strcmp ( string $str1 , string $str2 ) : int
ログイン後にコピー
この比較では大文字と小文字が区別されることに注意してください。

パラメータ str1 は最初の文字列を表します。 str2 は 2 番目の文字列を表します。

戻り値は、str1 が str2 より小さい場合は 0 を返し、str1 が str2 より大きい場合は 0 を返します。

4. implode: 1 次元配列の値を文字列に変換する

この記事では、2 つの PHP 多次元配列を比較する方法について説明します。シンプルでわかりやすいので、困っている友達に役立つことを願っています。


以上が2 つの PHP 多次元配列を比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!