array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.array-slice.php', 1 => 'array_slice', ), 'up' => array ( 0 => 'ref.array.php', 1 => '配列 関数', ), 'prev' => array ( 0 => 'function.array-shift.php', 1 => 'array_shift', ), 'next' => array ( 0 => 'function.array-splice.php', 1 => 'array_splice', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/array/functions/array-slice.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
array_slice — 配列の一部を展開する
array_slice()は、array
から引数 offset
および
length
で指定された連続する要素を返します。
array
入力の配列。
offset
offset
が負の値ではない場合、要素位置の計算は、
配列 array
の offset から始められます。
offset
が負の場合、要素位置の計算は
array
の最後から行われます。
offset
は、配列の位置を表します。配列のキーではありません。
length
length
が指定され、正の場合、
配列の要素の中から最大でその数までの要素を返します。
配列の要素数が length
より少ない場合は、
配列から取得できる要素だけを返します。
length
が指定され、負の場合、配列の末尾から連続する複数の要素が返されます。
省略された場合、offset
から配列の最後までの全ての要素が返されます。
preserve_keys
注意:
array_slice() はデフォルトで配列の数値キーを並べなおし、 リセットします。
preserve_keys
をtrue
にする事でこの動作を変更することができます。 文字列のキーは、このパラメータの値にかかわらず常に保存されます。
切り取った部分を返します。オフセットが配列のサイズより大きい場合は、空の配列を返します。
例1 array_slice() の例
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // "c", "d", "e" を返す
$output = array_slice($input, -2, 1); // "d" を返す
$output = array_slice($input, 0, 3); // "a", "b", "c" を返す
// 配列キーの違いに注意
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
上の例の出力は以下となります。
Array ( [0] => c [1] => d ) Array ( [2] => c [3] => d )
例2 array_slice() と、キーが1から始まる配列
<?php
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
?>
上の例の出力は以下となります。
Array ( [0] => b [1] => c )
例3 array_slice() に、数値と文字列のキーが混じった配列を渡す例
<?php
$ar = array('a'=>'apple', 'b'=>'banana', '42'=>'pear', 'd'=>'orange');
print_r(array_slice($ar, 0, 3));
print_r(array_slice($ar, 0, 3, true));
?>
上の例の出力は以下となります。
Array ( [a] => apple [b] => banana [0] => pear ) Array ( [a] => apple [b] => banana [42] => pear )