PHPのarray_slice()
関数は、配列から、一部の配列要素を、取得する組み込み関数。
定義
配列型 array_slice( 配列型 $array, 整数型 $offset[, 整数型 $length[, 論理型 $preserve_keys]] );
パラメータ
- 配列型 $array
対象の配列を指定。
- 整数型 $offset
取得開始位置を、インデックスで指定する。
正数の場合、先頭の配列要素から数える。先頭の配列要素を「0」とする
負数の場合、最後の配列要素から数える。最後の配列要素を「0」とする
- 整数型 $length
オプション。
取得する配列要素数。
- 論理型 $preserve_keys
オプション。
配列の数値キーを保持するかどうか。
「TRUE」を指定すると、保持する。
「FALSE」を指定すると、保持しない。初期設定値は、「FALSE」
戻り値
配列。
取得した一部の配列要素を格納した配列。
構文
取得開始位置を指定し、一部の配列要素を取得
取得した配列 = array_slice( 配列, 取得開始位置 );
「取得開始位置」を指定して、一部の配列要素を「配列」から取得し、「取得した配列」に格納。
取得開始位置と取得数を指定し、一部の配列要素を取得
取得した配列 = array_slice( 配列, 取得開始位置, 取得する配列要素数 );
「取得開始位置」と「取得する配列要素数」を指定して、一部の配列要素を「配列」から取得し、「取得した配列」に格納。
取得開始位置と取得数を指定し、一部の配列要素を取得(数値キーを保持)
取得した配列 = array_slice( 配列, 取得開始位置, 取得する配列要素数, TRUE );
「取得開始位置」と「取得する配列要素数」を指定して、一部の配列要素を「配列」から取得し、「取得した配列」に格納。その際、配列の数値キーを保持する。
サンプル
配列から、取得開始位置を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 赤
[1] => 青
[2] => 緑
)
(
[0] => 赤
[1] => 青
[2] => 緑
)
配列から、取得開始位置を負数で指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, -2 ) );
?>
</pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, -2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 青
[1] => 緑
)
(
[0] => 青
[1] => 緑
)
配列から、取得開始位置と取得数を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2, 2 ) );
?>
</pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[0] => 赤
[1] => 青
)
(
[0] => 赤
[1] => 青
)
配列から、取得開始位置と取得数を指定し、一部の配列要素を取得(数値キーを保持)
<pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2, 2, TRUE ) );
?>
</pre>
<?php
$varArray = array( "白", "黒", "赤", "青", "緑" );
print_r( array_slice( $varArray, 2, 2, TRUE ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[2] => 赤
[3] => 青
)
(
[2] => 赤
[3] => 青
)
連想配列から、取得開始位置を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[red] => 赤
[blue] => 青
[green] => 緑
)
(
[red] => 赤
[blue] => 青
[green] => 緑
)
連想配列から、取得開始位置と取得数を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
print_r( array_slice( $varArray, 2, 2 ) );
?>
</pre>
<?php
$varArray = array(
"white" => "白",
"black" => "黒",
"red" => "赤",
"blue" => "青",
"green" => "緑"
);
print_r( array_slice( $varArray, 2, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[red] => 赤
[blue] => 青
)
(
[red] => 赤
[blue] => 青
)
多次元配列から、取得開始位置を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
print_r( array_slice( $varArray, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[Kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[hiragana] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
)
(
[Kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
[hiragana] => Array
(
[0] => あか
[1] => あお
[2] => みどり
)
)
多次元配列から、取得開始位置と取得数を指定し、一部の配列要素を取得
<pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
print_r( array_slice( $varArray, 1, 2 ) );
?>
</pre>
<?php
$varArray = array(
"english" => array( "Red", "Blue", "Green" ),
"katakana" => array( "レッド", "ブルー", "グリーン" ),
"Kanji" => array(
"aka" => "赤",
"ao" => "青",
"ki" => "緑"
),
"hiragana" => array( "あか", "あお", "みどり" )
);
print_r( array_slice( $varArray, 1, 2 ) );
?>
</pre>
↓↓↓出力結果↓↓↓
Array
(
[katakana] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[Kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
)
(
[katakana] => Array
(
[0] => レッド
[1] => ブルー
[2] => グリーン
)
[Kanji] => Array
(
[aka] => 赤
[ao] => 青
[ki] => 緑
)
)