関数・クラス解説
array_slice
version:PHP 4, PHP 5, PHP 7 (公式)配列の一部を展開する
公式リファレンス
書式
array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = FALSE ]] ) : array
説明
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() の例
$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から始まる配列
$input = array(1 => "a", "b", "c", "d", "e");
print_r(array_slice($input, 1, 2));
上の例の出力は以下となります。
Array
(
[0] => b
[1] => c
)
例3 array_slice() に、数値と文字列のキーが混じった配列を渡す例
$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
)
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール