一夢千年系列
今日函數
array_key_last
、array_keys
、array_map
、array_merge_recursive
、array_merge
array_key_last1
獲取數組中的最后一個鍵名
- 說明
array_key_last(array $array) : mixed
- 參數
array
需要操作的數組
- 返回值
返回數組中最有一個鍵名,如果數組為空,則返回null
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$res = array_key_last($array);
var_dump($res);
以上范例會輸出
string(3) "sex"
- 特別注意
不會影響原數組的內部指針
array_keys2
返回數組中所有或者部分鍵名組成的數組
- 說明
array_keys(array $array) : array
array_keys(array $array, mixed $value, bool $strict = false) : array
- 參數
array
需要操作的數組
value
如果指定了這個參數,只有包含這個鍵值的鍵名才會返回
strict
是否嚴格比較
- 返回值
返回一個數組,包含所有或者部分鍵名組成的數組
- 范例
$array = [
'name' => 'swk',
'age' => 22,
'sex' => 1
];
$res = array_keys($array);
print_r($res);
以上范例會輸出
Array
(
[0] => name
[1] => age
[2] => sex
)
- 特別注意
沒有特別注意的地方
array_map3
為數組中每個元素應用回調函數
- 說明
array_map(callback $func, array $array, array ...) : array
- 參數
func
回調函數,應用到數組中的每個元素上
array
需要遍歷的數組
...
更多需要遍歷的數組
- 返回值
返回一個新數組,經過回調函數處理的數組
- 范例
$array = [1, 2, 3, 4];
function func($a)
{
return $a * $a;
}
$newArray = array_map('func', $array);
print_r($newArray);
以上范例輸出
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
)
- 特別說明
如果只有一個數組,並且這個數組的鍵名時候字符串的話,新數組會保留原鍵名。如果是多個數組,數組長度不一樣的話,短的數組會被null補充。如果回調函數是null,則會合並數組
array_merge_recursive4
遞歸的合並一個或者多個數組,如果有相同的鍵名,則鍵值合並為新數組,不會覆蓋
- 說明
array_merge_recursive(array ...) : array
- 參數
...
需要合並的數組,可以不傳,或者1個,或者多個
- 返回值
返回一個遞歸合並的數組
- 范例
$array1 = [
'info' => [
'name' => 'swk',
'age' => 22
]
];
$array2 = [
'info' => [
'name' => 'zbj',
'age' => 22
]
];
$newArray = array_merge_recursive($array1, $array2);
print_r($newArray);
以上范例輸出
Array
(
[info] => Array
(
[name] => Array
(
[0] => swk
[1] => zbj
)
[age] => Array
(
[0] => 22
[1] => 22
)
)
)
- 特別說明
如果不傳參數,則返回一個空數組
array_merge5
數組合並,相同的鍵名,后面的鍵值覆蓋前面的
- 說明
array_merge(array ...) : array
- 參數
...
需要合並的數組
- 返回值
返回一個數組,相同的鍵名后面的覆蓋前面的
- 范例
$array1 = [
'info' => [
'name' => 'swk',
'age' => 22
]
];
$array2 = [
'info' => [
'name' => 'zbj',
'age' => 22
]
];
$newArray = array_merge($array1, $array2);
print_r($newArray);
以上范例輸出
Array
(
[info] => Array
(
[name] => zbj
[age] => 22
)
)
- 特別說明
如果不傳參數,則返回一個空數組