­

【每日函數】每日函數(2021.08.10)

一夢千年系列

今日函數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. 特別說明

如果僅僅是給數組增加一個元素,不建議使用這個函數,會增加調用函數的額外負擔