一夢千年系列
今日函式
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
)
)
- 特別說明
如果不傳引數,則返回一個空陣列