php 的 array_slice() 函式可以在陣列中根據條件取出一段值,並返回新的陣列。

語法:
array_slice( array , start , length , preserve )

參數 敘述
 array 必填,原始陣列
 start 必填。數值。規定取出元素的開始位置。0 = 第一個元素。
如果該值設置為正數,則從前往後開始取。
如果該值設置為負數,則從後向前取start 絕對值。例:-3 意味著從陣列的倒數第三個元素開始。
 length  

選填。數值。規定被返回陣列的長度。

如果該值設置為整數,則返回該數量的元素。

如果該值設置為負數,則函數將在陣列末端這麼遠的地方終止取出。

如果該值未設置,則返回從 start 參數設置的位置開始直到陣列結尾的所有元素。

 preserve  

選填。規定函數是保留鍵名還是重置鍵名。可能的值:

  • true - 保留鍵名
  • false - 預設。重置鍵名

 

範例1:

$input = array("a", "b", "c", "d", "e");

$output = array_slice($input, 2);      // returns "c", "d", and "e"
$output = array_slice($input, -2, 1);  // returns "d"
$output = array_slice($input, 0, 3);   // returns "a", "b", and "c"

 

範例2:

print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
//output
Array
(
    [0] => c
    [1] => d
)
Array
(
    [2] => c
    [3] => d
)