【每日函式】每日函式(2021.08.06)

夢中程式設計師發表於2021-08-06

每日函式(2021.08.06)

一夢千年系列

array_diff_assoc1

帶索引檢查陣列的差集

  1. 說明
array_diff_assoc(array $array1, array $array2, ...) : array

返回一個陣列,array1中有,而array2中沒有的元素

  1. 引數

array1需要得出差集的陣列

array2被比較的陣列

...更多被比較的陣列

  1. 返回值

返回一個陣列,在array1中,但是不在array2以及後面陣列中

  1. 範例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];

$newArray = array_diff_assoc($array1, $array2);

print_r($newArray);

以上範例會輸出

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
)
  1. 特別注意

需要注意的是這個函式計算差集的時候需要把鍵名算進去,一起比較

一夢千年系列

array_diff_key2

使用鍵名比較差集

  1. 說明
array_diff_key(arrar $array1, array $array2, ...) : array

返回一個陣列,鍵名存在於array1中,但是不存在於array2中

  1. 引數

array1用於比較的陣列

array2被比較的陣列

...更多被比較的陣列

  1. 返回值

返回一個陣列,鍵名存在於array1中,但不存在於其它陣列中

  1. 範例
$array1 = [1, 2, 3, 4];
$array2 = [2, 3, 1];

$newArray = array_diff_key($array1, $array2);

print_r($newArray);

以上範例輸出

Array
(
    [3] => 4
)
  1. 特別說明

注意是隻比較鍵名

一夢千年系列

array_diff_uassoc3

使用使用者自定義函式檢查索引是否相同,從而計算差集

  1. 說明
array_diff_uassoc(array $array1, array $array2, ..., callable $func) : array
  1. 引數

array1用於比較的陣列

array2被比較的陣列

...更多被比較的陣列

func使用者自定義計算索引是否相同的函式

  1. 返回值

返回一個陣列,使用自定義函式檢查鍵名是否相同,從而計算差集

  1. 範例
$array1 = ['name' => 'swk'];
$array2 = ['nickname' => 'swk'];

function func($a, $b)
{
    return 0; // 返回0或者不返回表示相同,其它的表示不相同
}

$newArray = array_diff_uassoc($array1, $array2, 'func');

print_r($newArray);
  1. 特別說明

使用者自定義函式只是用於比較鍵名的,鍵值還是真實比較的

一夢千年系列

array_diff_ukey4

使用自定義函式檢查鍵名是否相同,從而計算差集,只比較鍵名,不比較鍵值

  1. 說明
array_diff_ukey(array $array1, array $array2, ..., callable $func) : array

返回一個陣列,使用使用者自定義函式檢查不相同的鍵名

  1. 引數

array1使用者比較打的陣列

array2被比較的陣列

...更多被比較的陣列

func使用者自定義函式,用於比較鍵名是否相同

  1. 返回值

返回一個陣列,使用自定義函式檢查不相同的鍵名

  1. 範例
$array1 = ['name' => 'swk', 'age' => 20];
$array2 = ['name' => 'swk'];

function func($a, $b)
{
    return 0; // 返回0或者不返回表示相同,其它的表示不相同
}

$newArray = array_diff_ukey($array1, $array2, 'func');

print_r($newArray);

以上範例輸出

Array
(
)
  1. 特別說明

使用使用者自定義函式只比較鍵名

一夢千年系列

array_diff5

計算陣列的差集,只比較鍵值

  1. 說明
array_diff(array $array1, array $array2, ...) : array

返回一個陣列,存在於array1中,不存在於其它陣列中

  1. 引數

array1用於比較的陣列

arrray2被比較的陣列

...更多被比較的陣列

  1. 返回值

返回一個陣列,存在於array1中,不存在其它陣列中,只比較鍵值

  1. 範例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];

$newArray = array_diff($array1, $array2);

print_r($newArray);

以上範例輸出

Array
(
)
  1. 特別說明

只比較鍵值

相關文章