- TOC
{:toc}
新增
array_add($array, $field, $value)
不覆盖|不改变原数组
如果给定的键不在数组中,那么 array_add
函数将会把给定的键/值对添加到数组中:
1 | $array = array_add(['name' => 'Desk'], 'price', 100); |
array_prepend($array, $value, $key =null)
可覆盖|不改变原数组
array_prepend
函数将一个项目推到数组的开头:
1 | $array = ['one', 'two', 'three', 'four']; |
你可以指定用于该值的键:
1 | $array = ['price' => 100]; |
array_set($array, 'first.second', $value)
覆盖|改变原数组|返回当前深度数组
array_set
函数使用「点」符号在深度嵌套的数组中设置一个值:
1 | $array = ['products' => ['desk' => ['price' => 100]]]; |
data_fill($target, 'frist.second', $value)
不覆盖|改变原结构|返回target
data_fill
函数使用「点」符号在嵌套数组或对象内设置缺少的值:
1 | $data = ['products' => ['desk' => ['price' => 100]]]; |
该函数也接受星号「 * 」作为通配符,并相应地填写目标:
1 | $data = [ |
data_set($target, 'first.second')
嵌套设置|覆盖|改变原结构|返回$target
data_set
函数使用「点」符号在嵌套数组或对象内设置一个值:
1 | $data = ['products' => ['desk' => ['price' => 100]]]; |
这个函数也接受通配符「 * 」,并相应地在目标上设置值:
1 | $data = [ |
默认情况下,所有现有的值都会被覆盖。如果你只想设置一个不存在值,你可以传递 false
作为第三个参数:
1 | $data = ['products' => ['desk' => ['price' => 100]]]; |
删除
array_except($array, array $except)
排除键/键值对|不改变原数组|返回新数组
array_except
函数从数组中删除给定的键/值对:
1 | $array = ['name' => 'Desk', 'price' => 100]; |
array_forget($array, 'first.second')
多维数组中移除键/值对|改变原数组|返回null
array_forget
函数使用「点」符号从深度嵌套数组中移除给定的键/值对:
1 | $array = ['products' => ['desk' => ['price' => 100]]]; |
array_pull($array, 'key')
删除数组键值对,返回值,改变数组
array_pull
函数返回并从数组中删除键/值对:
1 | $array = ['name' => 'Desk', 'price' => 100]; |
将默认值作为第三个参数传递给该方法。如果键不存在,则返回该值:
1 | $value = array_pull($array, $key, $default); |
检索
array_first($array, $callback, $default)
返回第一个
array_first
函数返回数组中第一个通过指定测试的元素:
1 | $array = [100, 200, 300]; |
将默认值作为第三个参数传递给该方法。如果没有值通过测试,则返回该值:
1 | $first = array_first($array, $callback, $default); |
array_get($array, 'first.second')
多维数组中获取值
array_get
函数使用「点」符号从深度嵌套的数组中检索值:
1 | $array = ['products' => ['desk' => ['price' => 100]]]; |
array_get
函数也接受一个默认值,如果没有找到指定的健,则返回该值:
1 | $discount = array_get($array, 'products.desk.discount', 0); |
array_has($array, 'first.second'|$array)
多维数组中判断存在值
array_has
函数使用「点」符号检查数组中是否存在给定的项目或项目组:
1 | $array = ['product' => ['name' => 'Desk', 'price' => 100]]; |
array_last($array, $callback, $default)
最后一个
array_last
函数返回数组中最后一个通过指定测试的元素:
1 | $array = [100, 200, 300, 110]; |
将默认值作为第三个参数传递给该方法。如果没有值通过测试,则返回该值:
1 | $last = array_last($array, $callback, $default); |
array_only($array, $fields)
仅返回给定数组中指定的键/值对
array_only
函数仅返回给定数组中指定的键/值对:
1 | $array = ['name' => 'Desk', 'price' => 100, 'orders' => 10]; |
array_pluck($array, 'developer.name')
数组中返回检索给定键的值
array_pluck
函数从数组中检索给定键的所有值:
1 | $array = [ |
你也可以指定生成的列表的键:
1 | $names = array_pluck($array, 'developer.name', 'developer.id'); |
array_random($array, $limit = 1)
返回随机值
array_random
函数从数组中返回一个随机值:
1 | $array = [1, 2, 3, 4, 5]; |
你也可以指定要返回的随机数的数量作为第二个可选参数。一旦你指定了第二个参数,即使数量为 1,这个函数也会返回一个数组:
1 | $items = array_random($array, 2); |
data_get($target, 'first.second')
嵌套获取值
data_get
函数使用「点」符号从嵌套数组或对象中检索值:
1 | $data = ['products' => ['desk' => ['price' => 100]]]; |
data_get
函数还接受默认值作为第三个参数,如果找不到指定的键,将返回该值:
1 | $discount = data_get($data, 'products.desk.discount', 0); |
head($array)
第一个(不过滤)
head
函数返回给定数组中的第一个元素:
1 | $array = [100, 200, 300]; |
last($array)
最后一个(不过滤)
last
函数返回给定数组中的最后一个元素:
1 | $array = [100, 200, 300]; |
数组间操作
array_collapse(...$arrays)
合并数组
array_collapse
函数将多个单数组合并成一个数组:
1 | $array = array_collapse([[1, 2, 3], [4, 5, 6], [7, 8, 9]]); |
array_divide($array)
分割数组为 键值 两个数组
array_divide
函数返回两个数组,一个包含原始数组的健,另一个包含原始数组的值:
1 | [$keys, $values] = array_divide(['name' => 'Desk']); |
array_dot($array)
平铺多维数组为关联数组,「点」连接
array_dot
函数将多维数组平铺到一维数组中,该数组使用「点」符号表示深度:
1 | $array = ['products' => ['desk' => ['price' => 100]]]; |
array_flatten($array)
平铺多维数组为索引数组
array_flatten
函数将多维数组平铺为一维数组。
1 | $array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']]; |
array_sort($array, $callback)
排序
array_sort
函数按照其值排序数组:
1 | $array = ['Desk', 'Table', 'Chair']; |
你也可以按给定的闭包返回的结果对数组进行排序:
1 | $array = [ |
array_sort_recursive($array, $callback)
递归排序
array_sort_recursive
函数使用 sort
函数递归排序数组:
1 | $array = [ |
array_where($array, $callback)
过滤数组
array_where
函数使用给定的闭包来过滤数组:
1 | $array = [100, '200', 300, '400', 500]; |
array_wrap()
创建数组
array_wrap
函数将给定的值包装成一个数组。如果给定的值已经是一个数组,则不会被改变:
1 | $string = 'Laravel'; |
如果给定的值是空,则返回一个空数组:
1 | $nothing = null; |