一梦千年系列

今日函数array_key_lastarray_keysarray_maparray_merge_recursivearray_merge

array_key_last1

获取数组中的最后一个键名

  1. 说明
array_key_last(array $array) : mixed
  1. 参数

array需要操作的数组

  1. 返回值

返回数组中最有一个键名,如果数组为空,则返回null

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

$res = array_key_last($array);

var_dump($res);

以上范例会输出

string(3) "sex"
  1. 特别注意

不会影响原数组的内部指针

array_keys2

返回数组中所有或者部分键名组成的数组

  1. 说明
array_keys(array $array) : array
array_keys(array $array, mixed $value, bool $strict = false) : array
  1. 参数

array需要操作的数组

value如果指定了这个参数,只有包含这个键值的键名才会返回

strict是否严格比较

  1. 返回值

返回一个数组,包含所有或者部分键名组成的数组

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

$res = array_keys($array);

print_r($res);

以上范例会输出

Array
(
    [0] => name
    [1] => age
    [2] => sex
)
  1. 特别注意

没有特别注意的地方

array_map3

为数组中每个元素应用回调函数

  1. 说明
array_map(callback $func, array $array, array ...) : array
  1. 参数

func回调函数,应用到数组中的每个元素上

array需要遍历的数组

...更多需要遍历的数组

  1. 返回值

返回一个新数组,经过回调函数处理的数组

  1. 范例
$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
)
  1. 特别说明

如果只有一个数组,并且这个数组的键名时候字符串的话,新数组会保留原键名。如果是多个数组,数组长度不一样的话,短的数组会被null补充。如果回调函数是null,则会合并数组

array_merge_recursive4

递归的合并一个或者多个数组,如果有相同的键名,则键值合并为新数组,不会覆盖

  1. 说明
array_merge_recursive(array ...) : array
  1. 参数

...需要合并的数组,可以不传,或者1个,或者多个

  1. 返回值

返回一个递归合并的数组

  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
                )

        )

)
  1. 特别说明

如果不传参数,则返回一个空数组

array_merge5

数组合并,相同的键名,后面的键值覆盖前面的

  1. 说明
array_merge(array ...) : array
  1. 参数

...需要合并的数组

  1. 返回值

返回一个数组,相同的键名后面的覆盖前面的

  1. 范例
$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
        )

)
  1. 特别说明

如果不传参数,则返回一个空数组

版权声明:本文为leruge原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/leruge/p/15117221.html