先給大家說下基本語法:
array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice() 返回根據 offset 和 length 參數所指定的 array 數組中的一段序列。
如果 offset 非負,則序列將從 array 中的此偏移量開始。如果 offset 為負,則序列將從 array 中距離末端這么遠的地方開始。
如果給出了 length 并且為正,則序列中將具有這么多的單元。如果給出了 length 并且為負,則序列將終止在距離數組末端這么遠的地方。如果省略,則序列將從 offset 開始一直到 array 的末端。
注意 array_slice() 默認將重置數組的鍵。自 PHP 5.0.2 起,可以通過將 preserve_keys 設為 TRUE 來改變此行為。
1
2
3
4
5
6
7
|
$input = array ( "a" , "b" , "c" , "d" , "e" ); $output = array_slice ( $input , ); //返回下標開始的數組 returns "c", "d", and "e" $output = array_slice ( $input , -, ); // returns "d" $output = array_slice ( $input , , ); // returns "a", "b", and "c" // note the differences in the array keys print_r( array_slice ( $input , , -)); print_r( array_slice ( $input , , -, true)); |
需要返回隨機幾條數據的話,可以先用shuffle($input);打亂原始數組,再用array_slice獲取
PS:PHP array_slice() 函數
定義和用法
array_slice() 函數在數組中根據條件取出一段值,并返回。
注釋:如果數組有字符串鍵,所返回的數組將保留鍵名。(參見例子 4)
語法
array_slice(array,offset,length,preserve)
參數
|
描述
|
array
|
必需。規定輸入的數組。
|
offset
|
必需。數值。規定取出元素的開始位置。
如果是正數,則從前往后開始取,如果是負值,從后向前取 offset 絕對值。
|
length
|
可選。數值。規定被返回數組的長度。
如果 length 為正,則返回該數量的元素。
如果 length 為負,則序列將終止在距離數組末端這么遠的地方。
如果省略,則序列將從 offset 開始直到 array 的末端。
|
preserve
|
可選。可能的值:
· true - 保留鍵
· false - 默認 - 重置鍵
|
例子 1
1
2
3
4
|
<?php $a = array (0=> "Dog" ,1=> "Cat" ,2=> "Horse" ,3=> "Bird" ); print_r( array_slice ( $a ,1,2)); ?> |
輸出:
Array ( [0] => Cat [1] => Horse )
例子 2
帶有負的 offset 參數:
1
2
3
4
|
<?php $a = array (0=> "Dog" ,1=> "Cat" ,2=> "Horse" ,3=> "Bird" ); print_r( array_slice ( $a ,-2,1)); ?> |
輸出:
Array ( [0] => Horse )
例子 3
preserve 參數設置為 true:
1
2
3
4
|
<?php $a = array (0=> "Dog" ,1=> "Cat" ,2=> "Horse" ,3=> "Bird" ); print_r( array_slice ( $a ,1,2,true)); ?> |
輸出:
Array ( [1] => Cat [2] => Horse )
例子 4
帶有字符串鍵:
1
2
3
4
|
<?php $a = array ( "a" => "Dog" , "b" => "Cat" , "c" => "Horse" , "d" => "Bird" ); print_r( array_slice ( $a ,1,2)); ?> |
輸出:
Array ( [b] => Cat [c] => Horse )
以上就是本文給大家介紹的php 利用array_slice函數獲取數組隨機或前幾條數據,希望大家喜歡。