'如何比較兩個PHP多維數組'

PHP 文章 天華信息教育 2019-07-26
"

判斷兩個多維數組是否相等,或有哪些元素區別。我們可以通過PHP中array_udiff()函數和create_function()方法、strcmp ()等函數來實現比較。

"

判斷兩個多維數組是否相等,或有哪些元素區別。我們可以通過PHP中array_udiff()函數和create_function()方法、strcmp ()等函數來實現比較。

如何比較兩個PHP多維數組

如何比較兩個PHP多維數組


下面我們就結合具體的代碼示例,給大家介紹比較兩個二維數組的方法。

代碼示例如下:


1 <?php
2
3 //多維數組比較
4 $color1 = array(array('Red',80),array('Green',70),array('white',60));
5 $color2 = array(array('Green',70),array('Black',95));
6
7 $color = array_udiff($color1,$color2,create_function(
8 '$a,$b','return strcmp(implode("",$a),implode("",$b));')
9 );
10
11 echo "<pre>";
12
13 print_r($color);

此段代碼中,我們就可以得出$color1數組相對於$color2數組有哪些不同的數組元素。

輸出比較結果如下:

"

判斷兩個多維數組是否相等,或有哪些元素區別。我們可以通過PHP中array_udiff()函數和create_function()方法、strcmp ()等函數來實現比較。

如何比較兩個PHP多維數組

如何比較兩個PHP多維數組


下面我們就結合具體的代碼示例,給大家介紹比較兩個二維數組的方法。

代碼示例如下:


1 <?php
2
3 //多維數組比較
4 $color1 = array(array('Red',80),array('Green',70),array('white',60));
5 $color2 = array(array('Green',70),array('Black',95));
6
7 $color = array_udiff($color1,$color2,create_function(
8 '$a,$b','return strcmp(implode("",$a),implode("",$b));')
9 );
10
11 echo "<pre>";
12
13 print_r($color);

此段代碼中,我們就可以得出$color1數組相對於$color2數組有哪些不同的數組元素。

輸出比較結果如下:

如何比較兩個PHP多維數組

如何比較兩個PHP多維數組

函數介紹:

1、array_udiff : 用回調函數比較數據來計算數組的差集

1 array_udiff ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array

使用回調函數比較數據,計算數組的不同之處。和 array_diff() 不同的是,前者使用內置函數進行數據比較。

參數array1表示第一個數組。array2第二個數組。value_compare_func回調對照函數。

在第一個參數小於,等於或大於第二個參數時,該比較函數必須相應地返回一個小於,等於或大於 0 的整數。

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

返回值,返回 array1 裡沒有出現在其他參數裡的所有值。

2、create_function:創建一個匿名函數

1 create_function ( string $args , string $code ): string

根據傳遞的參數創建匿名函數,併為其返回唯一名稱。

通常這些參數將作為單引號分隔的字符串傳遞。使用單引號字符串的原因是為了保護變量名稱不被解析,否則,如果使用雙引號,則需要轉義變量名稱,例如\\ $ avar。

args表示函數參數。code表示功能代碼。

返回值是以字符串或FALSE錯誤形式返回唯一函數名稱。

3、strcmp :二進制安全字符串比較

1 strcmp ( string $str1 , string $str2 ) : int

注意該比較區分大小寫。

參數str1表示第一個字符串。str2表示第二個字符串。

返回值是如果 str1 小於 str2 返回 < 0; 如果 str1 大於 str2 返回 > 0;如果兩者相等,返回 0。

4、implode:將一個一維數組的值轉化為字符串

本篇文章就是關於比較兩個PHP多維數組的方法介紹,也很簡單易懂,希望對需要的朋友有所幫助!

以上就是如何比較兩個PHP多維數組的詳細內容,更多請關注天華信息教育其它相關文章!

"

相關推薦

推薦中...