首頁  >  文章  >  後端開發  >  php怎麼比較2個陣列是否不同

php怎麼比較2個陣列是否不同

青灯夜游
青灯夜游原創
2022-04-15 20:45:413746瀏覽

比較方法:1、用“array_diff(數組1,數組2)”,只比較數組值;2、用“array_diff_assoc(數組1,數組2)”,鍵和值都比較。這兩種方法比較數組後,都會傳回一個差集數組;如果差集數組為空數組,則兩數組相同,反之不相同。

php怎麼比較2個陣列是否不同

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

php比較2個數組是否不同(不一樣)

在PHP中,可以使用array_diff()或array_diff_assoc()函數來比較2個數組,看看兩個數組是否不同。

array_diff()或array_diff_assoc()函數在比較數組後,會傳回一個差集數組;如果差集數組為空數組,則兩個數組相同,反之不相同。

下面我們來具體看看:

方法1:使用array_diff()比較2個陣列是否不同

array_diff() 函數用於比較兩個陣列的值,並傳回差集。語法格式:

array_diff(array1,array2);

傳回值:

  • 傳回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但不在任何其他參數數組(array2 等等)中的值。

範例:

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"black","g"=>"purple");
$a3=array("a"=>"red","b"=>"black","h"=>"purple");

$result=array_diff($a1,$a2);
var_dump($result);

$result=array_diff($a2,$a3);
var_dump($result);
?>

php怎麼比較2個陣列是否不同

#方法2:使用array_diff_assoc()函數

# array_diff_assoc() 函數用於比較兩個(或更多)陣列的鍵名和鍵值 ,並傳回差集。語法格式:

array_diff_assoc(array1,array2);

該函數比較兩個(或更多)數組的鍵名和鍵值,並傳回一個差集數組,該數組包括了所有在被比較的數組(array1)中,但是不在任何其他參數數組(array2)中的鍵名和鍵值。

範例:

<?php
$a1=array("a"=>"red","b"=>"black","g"=>"purple");
$a2=array("e"=>"red","f"=>"black","g"=>"purple");
$a3=array("a"=>"red","b"=>"blue","h"=>"yellow");
$a4=array("e"=>"red","f"=>"black","g"=>"purple");

$result=array_diff_assoc($a1,$a2);
var_dump($result);

$result=array_diff_assoc($a2,$a3);
var_dump($result);

$result=array_diff_assoc($a2,$a4);
var_dump($result);
?>

php怎麼比較2個陣列是否不同

推薦學習:《PHP影片教學

以上是php怎麼比較2個陣列是否不同的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn