PHP 中 array_slice 該如何使用

程式技術
sharkHead

array_slice() 簡單來說就是陣列分割 (切片),可以給四個參數,第四個參數預設值是 false (重置 key 值)。

<?php

array_slice(
    $array, // 陣列變數
    $whereToStart,  // 從哪裡開始
    $howMany, // 要娶幾個值
    $keepKey // 是否要保留原來的 key 值
)

假設今天有一個陣列。

$array = ['a', 'b', 'c', 'd'];

我們要從陣列中 'b' 開始,取 3 個值,則陣列切片應該要這樣寫。

array_slice($array, 1, 3);

要注意的是第二個參數,跟陣列一樣,都是從 0 開始數,但是這個 0 不代表陣列的 key 值,不論陣列的 key 值從哪裡開始,要從陣列的第 n 個數開始取值,第二個參數就是設定 n - 1

舉例來說,原本的 $array,其 key 值與 value 值的對應是這樣的。

$array[0] = 'a';
$array[1] = 'b';
$array[2] = 'c';
$array[3] = 'd';

現在將陣列中的第一個值刪除。

unset($array[0]);

然後跟剛剛一樣從 'b' 開始,取 3 個值,則陣列切片就要改成這樣寫。

array_slice($array, 0, 3);

第二個參數 0 代表從陣列的第一個值開始取,即使現在 'b' 的 key 值為 1 ,但因為他是此陣列的第一個值,所以第二個參數要給的是 0 而非 1。

sharkHead
written by
sharkHead

後端打工仔,在下班後喜歡研究各種不同的技術。稍微擅長 PHP,並偶爾涉獵前端開發。個性就像動態語言般隨興,但渴望做事能像囉嗦的靜態語言那樣嚴謹。

0 則留言