定義和用法
array_slice() 函數在數組中根據條件取出一段值,並返回。
註釋:如果數組有字符串鍵,所返回的數組將保留鍵名。
語法
array_slice(array,start,length,preserve)
參數介紹
array
輸入的數組。
offset
如果 offset 非負,則序列將從 array 中的此偏移量開始。如果 offset 爲負,則序列將從 array 中距離末端這麼遠的地方開始。
length
如果給出了 length 並且爲正,則序列中將具有這麼多的單元。如果給出了 length 並且爲負,則序列將終止在距離數組末端這麼遠的地方。如果省略,則序列將從 offset 開始一直到 array 的末端。
preserve_keys
注意 array_slice() 默認會重新排序並重置數組的數字索引。你可以通過將 preserve_keys 設爲 TRUE 來改變此行爲。
代碼示例
從數組的第二個元素開始取出,並僅返回兩個元素:
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2));
?>
得到
Array ( [0] => green [1] => blue )
使用負的 start 參數:
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,-2,1));
?>
得到
Array ( [0] => yellow )
把 preserve 參數設置爲 true:
<?php
$a=array("red","green","blue","yellow","brown");
print_r(array_slice($a,1,2,true));
?>
得到
Array ( [1] => green [2] => blue )
處理字符串鍵名和整數鍵名:
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"brown");
print_r(array_slice($a,1,2));
$a=array("0"=>"red","1"=>"green","2"=>"blue","3"=>"yellow","4"=>"brown");
print_r(array_slice($a,1,2));
?>
得到
Array ( [b] => green [c] => blue ) Array ( [0] => green [1] => blue )