【每日函數】每日函數(2021.08.06)
每日函數(2021.08.06)
一夢千年系列
array_diff_assoc1
帶索引檢查數組的差集
- 說明
array_diff_assoc(array $array1, array $array2, ...) : array
返回一個數組,array1中有,而array2中沒有的元素
- 參數
array1
需要得出差集的數組
array2
被比較的數組
...
更多被比較的數組
- 返回值
返回一個數組,在array1中,但是不在array2以及後面數組中
- 範例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];
$newArray = array_diff_assoc($array1, $array2);
print_r($newArray);
以上範例會輸出
Array
(
[0] => 1
[1] => 2
[2] => 3
)
- 特別注意
需要注意的是這個函數計算差集的時候需要把鍵名算進去,一起比較
一夢千年系列
array_diff_key2
使用鍵名比較差集
- 說明
array_diff_key(arrar $array1, array $array2, ...) : array
返回一個數組,鍵名存在於array1中,但是不存在於array2中
- 參數
array1
用於比較的數組
array2
被比較的數組
...
更多被比較的數組
- 返回值
返回一個數組,鍵名存在於array1中,但不存在於其它數組中
- 範例
$array1 = [1, 2, 3, 4];
$array2 = [2, 3, 1];
$newArray = array_diff_key($array1, $array2);
print_r($newArray);
以上範例輸出
Array
(
[3] => 4
)
- 特別說明
注意是只比較鍵名
一夢千年系列
array_diff_uassoc3
使用用戶自定義函數檢查索引是否相同,從而計算差集
- 說明
array_diff_uassoc(array $array1, array $array2, ..., callable $func) : array
- 參數
array1
用於比較的數組
array2
被比較的數組
...
更多被比較的數組
func
用戶自定義計算索引是否相同的函數
- 返回值
返回一個數組,使用自定義函數檢查鍵名是否相同,從而計算差集
- 範例
$array1 = ['name' => 'swk'];
$array2 = ['nickname' => 'swk'];
function func($a, $b)
{
return 0; // 返回0或者不返回表示相同,其它的表示不相同
}
$newArray = array_diff_uassoc($array1, $array2, 'func');
print_r($newArray);
- 特別說明
用戶自定義函數只是用於比較鍵名的,鍵值還是真實比較的
一夢千年系列
array_diff_ukey4
使用自定義函數檢查鍵名是否相同,從而計算差集,只比較鍵名,不比較鍵值
- 說明
array_diff_ukey(array $array1, array $array2, ..., callable $func) : array
返回一個數組,使用用戶自定義函數檢查不相同的鍵名
- 參數
array1
用戶比較打的數組
array2
被比較的數組
...
更多被比較的數組
func
用戶自定義函數,用於比較鍵名是否相同
- 返回值
返回一個數組,使用自定義函數檢查不相同的鍵名
- 範例
$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
(
)
- 特別說明
使用用戶自定義函數只比較鍵名
一夢千年系列
array_diff5
計算數組的差集,只比較鍵值
- 說明
array_diff(array $array1, array $array2, ...) : array
返回一個數組,存在於array1中,不存在於其它數組中
- 參數
array1
用於比較的數組
arrray2
被比較的數組
...
更多被比較的數組
- 返回值
返回一個數組,存在於array1中,不存在其它數組中,只比較鍵值
- 範例
$array1 = [1, 2, 3];
$array2 = [2, 3, 1];
$newArray = array_diff($array1, $array2);
print_r($newArray);
以上範例輸出
Array
(
)
- 特別說明
只比較鍵值