將矩陣做分割取部分元素時,常常會用到array_chunk, array_slice, array_splice這三種函數。
了解這三種函數的差別後,就可以依照需求使用適合的函數來達成目的。
簡單地說,三者的區分如下。
本文說明 PHP array_slice使用說明與範例。
array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] ) : array
將矩陣依照指定的位置與大小將部分元素取出並返回。
$offset是起始位置。 若為正值,則從開頭往結尾方向起算位置。 若為負值,則從結尾開始往開頭方向起算位置。
$length為要取出元素的數量。 若為正值,則從$offset開始算$length個元素。 若為負值,則取出的元素會終止在尾端算起|$length|處,若超過$offset則返回空矩陣。 若忽略設定$length,則返回$offset開始到結尾為止的元素。
$preserve_keys可以設定是否保留鍵值,若不保留鍵值則新的鍵值為數字。默認是重新排序並使用數字索引。
下面使用array("H", "e", "l", "l", "o", ",", "1", "2", "3")來做一些使用範例。
取出矩陣中的數字元素。
$input = array("H", "e", "l", "l", "o", ",", "1", "2", "3");
print_r(array_slice($input, 6));
Output:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
取出矩陣中的字母元素。
這裡展示兩種方式。
$input = array("H", "e", "l", "l", "o", ",", "1", "2", "3");
print_r(array_slice($input, 0, 5));
print_r(array_slice($input, 0, -4));
Output:
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)
Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)
取出矩陣中的「,」符號。
$input = array("H", "e", "l", "l", "o", ",", "1", "2", "3");
print_r(array_slice($input, 5, 1));
Output:
Array
(
[0] => ,
)
想直接線上實作的話可以透過Example傳送門來練習。
Laravel8+Vue3+Bootstrap5實作TODO List ep09:安裝bootstrap5並美化todo list畫面
Laravel8+Vue3+Bootstrap5實作TODO List ep07:安裝vue3跟基本設定
Laravel8+Vue3+Bootstrap5實作TODO List ep08:用vue重新製作todo list畫面
Laravel8+Vue3+Bootstrap5實作TODO List ep06:初步認識Web Route
Laravel8+Vue3+Bootstrap5實作TODO List ep05:製作新增、更新、刪除待辦事項的API