php利用array_slice関数はランダム配列または前のデータを取得します

2983 ワード

まず基本的な文法をお話しします.
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)

 
パラメータ
説明
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
文字列キー:

"Dog","b"=>"Cat","c"=>"Horse","d"=>"Bird");
print_r(array_slice($a,1,2));
?>

出力:
 
  
Array ( [b] => Cat [c] => Horse )

以上、本稿で紹介するphp利用array_slice関数は配列のランダムまたは前のいくつかのデータを取得して、みんなが好きになることを望みます.