PHP array_slice() 函數
PHP Array 函數
定義和用法
array_slice() 函數在數組中根據條件取出一段值,並返回。
注釋:如果數組有字串鍵,所返回的數組將保留鍵名。(參見例子 4)
文法
array_slice(array,offset,length,preserve)參數 描述
array 必需。規定輸入的數組。
offset 必需。數值。規定取出元素的開始位置。
如果是正數,則從前往後開始取,如果是負值,從後向前取 offset 絕對值。
length 可選。數值。規定被返回數組的長度。
如果是負數,則從後向前,選取該值絕對值數目的元素。如果未設定該值,則返回所
有元素。
preserve 可選。可能的值:
true - 保留鍵
false - 預設 - 重設鍵
<?php
/*
用手冊上的例子
*/
$input = array ("a", "b", "c", "d", "e");
$output = array_slice ($input, 2); // returns "c", "d", and "e",
$output = array_slice ($input, 2, -1); // returns "c", "d"
$output = array_slice ($input, -2, 1); // returns "d"
$output = array_slice ($input, 0, 3); // returns "a", "b", and "c"
?>
執行個體
<?php
$term = $_REQUEST['q'];
$images = array_slice(scandir("images"), 2);
foreach($images as $value) {
if( strpos(strtolower($value), $term) === 0 ) {
echo $value . " ";
}
}
?>
<?php
// split the given array into n number of pieces
function array_split($array, $pieces=2)
{
if ($pieces < 2)
return array($array);
$newCount = ceil(count($array)/$pieces);
$a = array_slice($array, 0, $newCount);
$b = array_split(array_slice($array, $newCount), $pieces-1);
return array_merge(array($a),$b);
}
// Examples:
$a = array(1,2,3,4,5,6,7,8,9,10);
array_split($a, 2); // array(array(1,2,3,4,5), array(6,7,8,9,10))
array_split($a, 3); // array(array(1,2,3,4), array(5,6,7), array
(8,9,10))
array_split($a, 4); // array(array(1,2,3), array(4,5,6), array(7,8),
array(9,10))
?>