【每日函数】每日函数(2021.08.07)

一梦千年系列

array_fill_keys1

使用指定的键和值填充数组

  1. 说明
array_fill_keys(array $keyArray, mixed $value) : array
  1. 参数

keyArray使用该数组的值作为键名,非法值将被转换为字符串

value填充数组所需的键值

  1. 返回值

返回填充后的数组

  1. 范例
$keyArray = ['name', 'age', 'sex'];

$value = 'test';

$newArray = array_fill_keys($keyArray, $value);

print_r($newArray);

以上范例会输出

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

没有需要特别注意的

一梦千年系列

array_fill2

使用给定的值填充数组

  1. 说明
array_fill(int $start, int $count, mixed $value) : array

使用value填充count个元素到数组中,索引从start开始

  1. 参数

start新数组的第一个索引值

count新数组元素的个数

value新数组的键值

  1. 返回值

返回一个数组,索引从start开始,元素个数是count,数组值是value

  1. 范例
$value = 'test';

$newArray = array_fill(2, 3, $value);

print_r($newArray);

以上范例输出

Array
(
    [2] => test
    [3] => test
    [4] => test
)
  1. 特别说明

如果count小于0,则为抛出错误

一梦千年系列

array_filter3

  1. 说明
array_filter(array $array, callback $func = null, int $mode = 0) : array

遍历数组,将每个元素传递给func,如果返回true,则保留,否则遗弃,如果没有func参数,则是过滤掉空值

  1. 参数

array需要过滤的数组

func回调函数,如果没有此参数,则过滤掉所有空元素

mode默认是值传数组的键值,ARRAY_FILTER_USE_KEY的话传的是键名,ARRAY_FILTER_USE_BOTH键名和键值一块传递

  1. 返回值

返回一个新数组,根据func过滤掉以后的数组

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

$newArray = array_filter($array, fn($value) => $value == 'swk');

print_r($newArray);

以上范例会输出

Array
(
    [name] => swk
)
  1. 特别说明

返回的新数组的键名是保持不变的

一梦千年系列

array_flip4

交换数组的键名和键值

  1. 说明
array_flip(array $array) : array
  1. 参数

array需要交换键名和键值的数组

  1. 返回值

返回一个数组,键名和键值进行交换,交换以后如果键名不合法,则自动删除不合法元素,并报警告,如果键名重复,后面的覆盖前面的,如果失败返回null

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

$newArray = array_flip($array);

print_r($newArray);

以上范例输出

Array
(
    [swk] => name
    [27] => age
    [1] => sex
)
  1. 特别说明

键名不合法时,过滤掉该元素,键名重复时后面覆盖前面的

一梦千年系列

array_intersect_assoc5

带索引检查计算数组的交集

  1. 说明
array_intersect_assoc(array $array, array $array2, array ...) : array
  1. 参数

array要检查得到的数组

array2被比较使用的数组

...更多比较使用的数组

  1. 返回值

返回一个存在于array中,同时也存在于其它数组的元素数组

  1. 范例
<?php
$array = [
    'name' => 'swk',
    'age' => 27,
    'sex' => 1
];

$array2 = [
    'name' => 'swk'
];

$newArray = array_intersect_assoc($array, $array2);

print_r($newArray);

以上范例输出

Array
(
    [name] => swk
)
  1. 特别说明

键名和键值都会进行比较

上一篇:【每日函数】每日函数(2021.08.05)


下一篇:GO编程模式学习笔记:MAP-REDUCE