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

夢中程式設計師發表於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. 特別說明

如果僅僅是給陣列增加一個元素,不建議使用這個函式,會增加呼叫函式的額外負擔

相關文章