php 利用array_slice函數(shù)獲取隨機(jī)數(shù)組或前幾條數(shù)據(jù)
先給大家說下基本語(yǔ)法:
array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice() 返回根據(jù) offset 和 length 參數(shù)所指定的 array 數(shù)組中的一段序列。
如果 offset 非負(fù),則序列將從 array 中的此偏移量開始。如果 offset 為負(fù),則序列將從 array 中距離末端這么遠(yuǎn)的地方開始。
如果給出了 length 并且為正,則序列中將具有這么多的單元。如果給出了 length 并且為負(fù),則序列將終止在距離數(shù)組末端這么遠(yuǎn)的地方。如果省略,則序列將從 offset 開始一直到 array 的末端。
注意 array_slice() 默認(rèn)將重置數(shù)組的鍵。自 PHP 5.0.2 起,可以通過將 preserve_keys 設(shè)為 TRUE 來改變此行為。
$input = array("a", "b", "c", "d", "e"); $output = array_slice($input, ); //返回下標(biāo)開始的數(shù)組 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));
需要返回隨機(jī)幾條數(shù)據(jù)的話,可以先用shuffle($input);打亂原始數(shù)組,再用array_slice獲取
PS:PHP array_slice() 函數(shù)
定義和用法
array_slice() 函數(shù)在數(shù)組中根據(jù)條件取出一段值,并返回。
注釋:如果數(shù)組有字符串鍵,所返回的數(shù)組將保留鍵名。(參見例子 4)
語(yǔ)法
array_slice(array,offset,length,preserve)
參數(shù)
|
描述
|
array
|
必需。規(guī)定輸入的數(shù)組。
|
offset
|
必需。數(shù)值。規(guī)定取出元素的開始位置。
如果是正數(shù),則從前往后開始取,如果是負(fù)值,從后向前取 offset 絕對(duì)值。
|
length
|
可選。數(shù)值。規(guī)定被返回?cái)?shù)組的長(zhǎng)度。
如果 length 為正,則返回該數(shù)量的元素。
如果 length 為負(fù),則序列將終止在距離數(shù)組末端這么遠(yuǎn)的地方。
如果省略,則序列將從 offset 開始直到 array 的末端。
|
preserve
|
可選??赡艿闹担?/span>
· true - 保留鍵
· false - 默認(rèn) - 重置鍵
|
例子 1
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2)); ?>
輸出:
Array ( [0] => Cat [1] => Horse )
例子 2
帶有負(fù)的 offset 參數(shù):
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?>
輸出:
Array ( [0] => Horse )
例子 3
preserve 參數(shù)設(shè)置為 true:
<?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
帶有字符串鍵:
<?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函數(shù)獲取數(shù)組隨機(jī)或前幾條數(shù)據(jù),希望大家喜歡。
- php常用數(shù)組array函數(shù)實(shí)例總結(jié)【賦值,拆分,合并,計(jì)算,添加,刪除,查詢,判斷,排序】
- php array_walk_recursive 使用自定的函數(shù)處理數(shù)組中的每一個(gè)元素
- php array_map使用自定義的函數(shù)處理數(shù)組中的每個(gè)值
- 淺談PHP檢查數(shù)組中是否存在某個(gè)值 in_array 函數(shù)
- PHP計(jì)算數(shù)組中值的和與乘積的方法(array_sum與array_product函數(shù))
- PHP中使用array函數(shù)新建一個(gè)數(shù)組
- PHP使用in_array函數(shù)檢查數(shù)組中是否存在某個(gè)值
- 分享六個(gè)比較好用的php數(shù)組Array函數(shù)
相關(guān)文章
修改Laravel自帶的認(rèn)證系統(tǒng)的User類的命名空間的步驟
今天小編就為大家分享一篇修改Laravel自帶的認(rèn)證系統(tǒng)的User類的命名空間的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10thinkphp實(shí)現(xiàn)上一篇與下一篇的方法
這篇文章主要介紹了thinkphp實(shí)現(xiàn)上一篇與下一篇的方法,以實(shí)例形式對(duì)比分析了兩種不同的實(shí)現(xiàn)方法供大家選擇,方法二在方法一的基礎(chǔ)上增加了判斷的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12分頁(yè)詳解 從此分頁(yè)無憂(PHP+mysql)
分頁(yè)詳解 從此分頁(yè)無憂(PHP+mysql)...2007-11-11Laravel使用swoole實(shí)現(xiàn)websocket主動(dòng)消息推送的方法介紹
這篇文章主要給大家介紹了關(guān)于Laravel使用swoole實(shí)現(xiàn)websocket主動(dòng)消息推送的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)動(dòng)態(tài)包含文件的方法,是進(jìn)行ThinkPHP項(xiàng)目開發(fā)中非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11