最初に基本的な構文を説明します:
array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
array_slice() は、offset パラメータと length パラメータで指定された配列内のシーケンスを返します。
オフセットが負でない場合、シーケンスは配列内のこのオフセットから開始されます。 offset が負の場合、シーケンスは配列の最後から遠く離れた位置から開始されます。
長さが指定され、正の値の場合、シーケンス内にこれだけの数のセルが存在します。長さが指定されていて負の場合、シーケンスは配列の終わりからここまで離れたところで終了します。省略した場合、シーケンスはオフセットから始まり、配列の最後まで進みます。
array_slice() はデフォルトで配列のキーをリセットすることに注意してください。 PHP 5.0.2 以降、preserve_keys を TRUE に設定することでこの動作を変更できます。
リーリーいくつかのランダムなデータを返す必要がある場合は、まず shuffle($input); を使用して元の配列をスクランブルし、次に array_slice を使用してそれを取得します
追記: PHPのarray_slice()関数
定義と使用法
array_slice() 関数は、条件に基づいて配列から値のセグメントを取り出し、それを返します。
注: 配列に文字列キーがある場合、返される配列にはキー名が保持されます。 (例 4 を参照)
文法
コードをコピーします コードは次のとおりです:
array_slice(配列,オフセット,長さ,保持)
パラメータ | 説明 |
配列 | 必須。入力配列を指定します。 |
オフセット | 必須。数値。取得する要素の開始位置を指定します。 正の値の場合は前から後ろに取得されます。 オフセット 絶対値。 |
長さ | オプション。数値。返される配列の長さを指定します。 length が正の場合、その要素数を返します。 如果 length 为负,则序列将终止在距离数组末端这么远的地方。 如果省略,则序列将从 offset 开始直到 array 的末端。 |
preserve | 可选。可能的值: · true - 保留键 · false - 默认 - 重置键 |
例子 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
带有负的 offset 参数:
<?php $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,-2,1)); ?>
输出:
复制代码 代码如下:
Array ( [0] => Horse )
例子 3
preserve 参数设置为 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函数获取数组随机或前几条数据,希望大家喜欢。