先给大家说下基本语法:
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 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)
代码如下:
例子 2 带有负的 offset 参数:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?> 登入後複製 输出: 代码如下:
例子 3 preserve 参数设置为 true:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2,true)); ?> 登入後複製 输出: 代码如下:
例子 4 带有字符串键:
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird"); print_r(array_slice($a,1,2)); ?> 登入後複製 输出: 代码如下:
以上就是本文给大家介绍的php 利用array_slice函数获取数组随机或前几条数据,希望大家喜欢。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
PHP數組從URL參數中取得的行為不如預期
我有一個包含類別ID的URL參數,我想將其視為一個數組,如下所示:http://example.com?cat[]=3,9,13在PHP中,我使用它從URL參數取得數組:$catI...
來自於 2024-04-06 22:09:02
0
1
1428
如何在MySQL表中插入多行並傳回新的ID?
通常我可以在MySQL表中插入一行並取得last_insert_id。但現在,我想將許多行批量插入到表中並獲取ID數組。有人知道我該怎麼做?有一些類似的問題,但並不完全相同。我不想...
來自於 2024-04-06 10:03:44
0
2
294
使用 ...new Set 在 filtred 陣列中加入計數重複值
我有一個包含重複值的數組,我從API獲取這些值,下面的程式碼使用...newSet()方法來取得所有數學的註釋,而沒有重複的註釋:letnotes=[];if(props.getA...
來自於 2024-04-04 19:03:41
0
1
313
如何查詢儲存在資料庫中的多個選擇元素
查詢專業領域(儲存為任何選定項目數組)不起作用。我正在嘗試找出一種在編輯時獲取註冊農民的專業知識領域的方法。我有兩張桌子。資料庫中的登記農民表和專業領域表。專業領域儲存在專業領域表...
來自於 2024-04-04 13:18:46
0
1
304
如何使用javascript更新屬性並取得數組物件中連續順序具有屬性值的結果
我有物件數組list,參數rid和rorder被傳遞。 ->1.如果rid與清單中的id相同,則用rorder更新itemorder>值。 ->2.Updated...
來自於 2024-04-04 13:32:46
0
1
382
相關專題
更多>
熱門教學
更多>
|