【每日函數】每日函數(2021.08.08)

一夢千年系列

array_intersect_key1

只比較鍵名計算數組的交集

  1. 說明
array_intersect_key(array $array1, array $array2, array ...) : array
  1. 參數

array1要檢查的數組

array2用於比較的數組

...更多用戶比較的數組

  1. 返回值

返回一個數組,鍵名存在於array1,同時也存在於其它用戶比較的數組中

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

$array2 = [
    'name' => 'zbj',
    'age' => 23,
    'height' => 176
];

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

print_r($newArray);

以上範例會輸出

Array
(
    [name] => swk
    [age] => 22
)
  1. 特別注意

只是比較鍵名,不比較鍵值,所以上面的範例中,鍵名都有name、age,雖然鍵值不同,也算交集

一夢千年系列

array_intersect_ukey2

只比較鍵名計算交集,比較方式使用用戶自定義函數

  1. 說明
array_intersect_ukey(array $array1, array $array2, array ..., callback $func) : array
  1. 參數

array1要檢查的數組

array2用於比較的數組

...更多用戶比較的數組

func用戶自定義比較的函數

  1. 返回值

返回一個數組,鍵名即存在於array1中,也存在於其它數組中,鍵名的比較方式是用戶自定義函數

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

$array2 = [
    'name' => 'zbj',
    'age' => 23,
    'sex' => 2
];

function func($a, $b)
{
    return 0;
}

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

print_r($newArray);

以上範例輸出

Array
(
    [name] => swk
    [age] => 22
    [sex] => 1
)
  1. 特別說明

只比較鍵名,使用用戶自定義的函數比較鍵名

一夢千年系列

array_intersect3

計算數組的交集,只比較鍵值,保留鍵名

  1. 說明
array_intersect(array $array1, array $array2, array ...) : array
  1. 參數

array1要檢查的數組

array2用於比較的數組

...更多用於比較的數組

  1. 返回值

返回一個數組,鍵值相同的交集數組

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

$array2 = [
    'nickname' => 'swk',
    'age' => 23,
    'sex' => 1
];

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

print_r($newArray);

以上範例輸出

Array
(
    [name] => swk
    [sex] => 1
)
  1. 特別說明

計算交集只比較鍵值

一夢千年系列

array_key_exists4

檢查數組中是否有指定的鍵名

  1. 說明
array_key_exist(mixed $key, array $array) : bool

數組array中有鍵名key時返回true,否則返回false

  1. 參數

key要檢查的鍵名

array要檢查的數組

  1. 返回值

返回布爾值,檢查到鍵名返回true,否則返回false

  1. 範例
$array = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$key = 'name';

$res = array_key_exists($key, $array);

var_dump($res);

以上範例輸出

bool(true)
  1. 特別說明

雖然說第二個數組參數也可以傳對象,但是不建議,如果判斷對象中是否有屬性,則使用property_exists

一夢千年系列

array_key_first5

獲取數組的第一個鍵名

  1. 說明
array_key_first(array $array) : mixed
  1. 參數

array要操作的數組

  1. 返回值

返回一個有效的鍵名,如果是空數組,則返回null

  1. 範例
$array = [
    'name' => 'swk',
    'age' => 22,
    'sex' => 1
];

$res = array_key_first($array);

var_dump($res);

以上範例輸出

string(4) "name"
  1. 特別說明

獲取數組的第一個鍵名,如果數組為空,則返回null