一梦千年系列

今日函数array_multisortarray_padarray_poparray_productarray_push

array_multisort1

对多个数组或者多维数组进行排序

  1. 说明
array_multisort(array &$array, mixed $sort_order = SORT_ASC, mixed $sort_flags = SORT_REGULAR, ...)
  1. 参数

array需要排序的数组

sort_order可以省略,排序的顺序,参数可以是SORT_ASC和SORT_DESC,默认是SORT_ASC,参数位置可以和sort_flat交换

sort_flags可以省略,排序方式:

  1. SORT_REGULAR:通常排序
  2. SORT_NUMERIC:按照数字大小比较
  3. SORT_STRING:按照字符串比较
  4. SORT_LOCAL_STRING:根据本地化设置,按照字符串比较
  5. SORT_NATURAL:自然排序,这种排序是我们经常用的,但是并不是默认排序
  6. 这项就是说明可以组合排序

...更多需要排序的数组,排序需要参照第一个数组

  1. 返回值

返回值是true或者false,排序是引用排序

  1. 范例
$array = [7, 9, 3, 6, 1];

array_multisort($array);

print_r($array);

以上范例会输出

Array
(
    [0] => 1
    [1] => 3
    [2] => 6
    [3] => 7
    [4] => 9
)
  1. 特别注意

配合array_column对多维数组进行排序十分好用,是引用排序,关联数组键名不变,索引数组的索引值会重排

array_pad2

填充数组到指定长度,如果指定长度小于数组实际长度,则不填充

  1. 说明
array_pad(array $array, int $size, mixed $value) : array
  1. 参数

array需要填充的数组

size需要填充到的长度

value需要填充的值

  1. 返回值

返回一个填充以后的数组,如果size是正数,则填充到右侧,如果是负数则填充到左侧

  1. 范例
$array = [7, 9, 3, 6, 1];

$newArray = array_pad($array, 10, 1);

print_r($newArray);

以上范例输出

Array
(
    [0] => 7
    [1] => 9
    [2] => 3
    [3] => 6
    [4] => 1
    [5] => 1
    [6] => 1
    [7] => 1
    [8] => 1
    [9] => 1
)
  1. 特别说明

长度可以是负数,使用绝对数计算长度

array_pop3

弹出数组最后一个元素,并返回最后一个元素,也称出栈

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

array需要操作的数组

  1. 返回值

返回数组最后一个元素

  1. 范例
$array = [7, 9, 3, 6, 1];

$res = array_pop($array);

print_r($array);

以上范例输出

Array
(
    [0] => 7
    [1] => 9
    [2] => 3
    [3] => 6
)
  1. 特别说明

返回数组最后一个元素,原数组移除最后一个元素

array_product4

返回所有数组键值的乘积,空数组返回1,键值有非数字类型的则返回0

  1. 说明
array_product(array $array) : number
  1. 参数

array需要计算乘积的数组

  1. 返回值

数组所有键值的乘积,空数组返回1,键值有非数字则返回0,参数不是数组则报错

  1. 范例
$array = [7, 9, 3, 6, 1];

$res = array_product($array);

print_r($res);

以上范例输出

1134
  1. 特别说明

返回数组所有键值的乘积,空数组返回1,键值有非数字则返回0,参数不是数组则报错

array_push5

向数组末尾填充一个元素,也称入栈,并返回新数组的长度

  1. 说明
array_push(array &$array, mixed ...) : int
  1. 参数

array需要操作的数组

...需要入栈的元素

  1. 返回值

返回处理后的数组长度

  1. 范例
$array = [7, 9, 3, 6, 1];

array_push($array, 8);

print_r($array);

以上范例输出

Array
(
    [0] => 7
    [1] => 9
    [2] => 3
    [3] => 6
    [4] => 1
    [5] => 8
)
  1. 特别说明

如果仅仅是给数组增加一个元素,不建议使用这个函数,会增加调用函数的额外负担