PHP 中 array_slice 該如何使用

程式技術 sharkHead 10個月前 0

array_slice() 簡單來說就是陣列分割 (切片),可以給四個參數
array_slice( 陣列變數, 從哪裡開始, 要取幾個值 , 是否要保留原來的 key 值)
第四個參數預設值是 false (重置 key 值)

假設今天有一個陣列

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

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

array_slice($testArray, 1, 3);

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

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

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

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

unset($testArray[0]);

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

array_slice($testArray, 0, 3);

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


Laravel 與 Python 菜雞工程師
喜愛研究程式相關技術
正在學習 TypeScript 與 Vue.js