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

夢中程式設計師發表於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

相關文章