(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — 從數組中取出一段
$array,$offset,$length = null,$preserve_keys = false
array_slice() 返回根據 offset 和
length 參數所指定的 array
數組中的一段序列。
array輸入的數組。
offset
如果 offset 非負,則序列將從 array
中的此偏移量開(kāi)始。
如果 offset 為負,則序列將從
array 中距離末端這么遠的地方開(kāi)始。
注意:
參數
offset標識的是數組中的位置,而不是鍵。
length
如果給出了 length 并且為正,則序列中將具有這么多的單元。
如果 array 比 length 要短,只會(huì )保留有效的數組單元。
如果給出了
length 并且為負,則序列將終止在距離數組末端這么遠的地方。
如果省略,則序列將從
offset 開(kāi)始一直到 array 的末端。
preserve_keys注意:
注意 array_slice() 默認會(huì )重新排序并重置數組的數字索引。你可以通過(guò)將
preserve_keys設為true來(lái)改變此行為。 無(wú)論本參數如何設置,都會(huì )保留字符串的鍵。
返回其中一段。 如果 offset 參數大于 array 尺寸,就會(huì )返回空的 array。
示例 #1 array_slice() 例子
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // 返回 "c", "d" 和 "e"
$output = array_slice($input, -2, 1); // 返回 "d"
$output = array_slice($input, 0, 3); // 返回 "a", "b" 和 "c"
// 注意數組中 key 的不同
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
以上例程會(huì )輸出:
Array
(
[0] => c
[1] => d
)
Array
(
[2] => c
[3] => d
)
示例 #2 array_slice() 于索引從 1 開(kāi)始的 array
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
以上例程會(huì )輸出:
Array
(
[0] => b
[1] => c
)
示例 #3 array_slice() 與混合類(lèi)型鍵的 array
<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
以上例程會(huì )輸出:
Array
(
[a] => apple
[b] => banana
[0] => pear
)
Array
(
[a] => apple
[b] => banana
[42] => pear
)