SYNCERのロゴ
アイキャッチ画像

array_slice - 配列の一部を切り取る

array_sliceは、配列の一部を切り取る関数です。切り取った部分を配列にして返します。返り値の配列の添字は0から振り直されている点にご注意下さい。

構文

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

パラメータ

$array

対象の配列。

$offset

切り取りを開始する位置までのオフセット。例えば2を指定した場合、3つ目が開始位置となる。負の数を指定した場合は、最後の要素が-1、その1つ前が-2というように末尾から数えた位置となる。

$length

切り取る要素の数。デフォルトでは、第2引数で指定した位置以降の全ての要素を切り取る。負の数を指定した場合、最後の要素までが-0、その1つ前までが-1というように末尾から数えた位置が最後の切り取り位置となる。

$preserve_keys

添字を維持するか。trueを指定した場合、返り値の配列でも添字が維持される。

返り値

array

切り取った配列。切り取る部分が存在しない場合は空の配列が返る。

サンプルコード

<?php
	$array = [ "a", "b", "c", "d", "e" ] ;

	$response = array_slice( $array, 2 ) ;

デモ

配列の一部を切り取る

ある配列の、先頭から3つ目の要素を開始位置として、それ以降を切り取ります。3つ目を開始位置とするには、第2引数に2を指定します。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "a", "b", "c", "d", "e" ] ;

	$response = array_slice( $array, 2 ) ;

	print_r( $response ) ;

末尾から数える

第2引数に負の数を指定した場合、末尾から先頭の方向に数えた処理になります。例の場合、末尾から4つ目の要素("b")が開始位置となります。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "a", "b", "c", "d", "e" ] ;

	$response = array_slice( $array, -4 ) ;

	print_r( $response ) ;

要素の数を指定する

第3引数に数値を指定すると、その要素の数だけを切り取ります。ある配列の、2つ目の位置から2つの要素数を取得する例です。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "a", "b", "c", "d", "e" ] ;

	$response = array_slice( $array, 1, 2 ) ;

	print_r( $response ) ;

添字を維持する

通常、返り値の配列は添字が振り直されるため、キー番号は0から始まっています。第4引数にtrueを指定した場合、元の配列の添字を維持します。

<?php
/*** このコードは編集できます。 ***/

	$array = [ "a", "b", "c", "d", "e" ] ;

	$response = array_slice( $array, 1, 2, true ) ;

	print_r( $response ) ;
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年6月25日 (日)
コンテンツを公開しました。