先給大家說下基本語法:
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 來改變此行為。
$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 keysprint_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
"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,1,2));?>
輸出:
複製程式碼 程式碼如下:
Array ( [0] => Cat [1] => Horse )
例子 2
帶有負的 offset 引數:
"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,-2,1));?>
輸出:
複製程式碼 程式碼如下:
Array ( [0] => Horse )
例子 3
preserve 引數設定為 true:
"Dog",1=>"Cat",2=>"Horse",3=>"Bird");print_r(array_slice($a,1,2,true));?>
輸出:
複製程式碼 程式碼如下:
Array ( [1] => Cat [2] => Horse )
例子 4
帶有字串鍵:
<"a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird");print_r(array_slice($a,1,2));?>
輸出:
複製程式碼 程式碼如下:
Array ( [b] => Cat [c] => Horse )
以上就是本文給大家介紹的php 利用array_slice函式獲取陣列隨機或前幾條資料,希望大家喜歡。