php 指定した範囲の値を取得する
phpで、array_sliceを使用して、指定した範囲の値を取得するサンプルコードを記述してます。phpのバージョンは8.0です。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
- nginx 1.14.1
array_slice使い方
array_sliceを使用すれば、指定した範囲の値を取得することが可能です。
array_slice(配列,開始位置);
// 開始位置は0から
以下は、配列の値を開始位置を指定して取得するサンプルコードとなります。
<?php
$arr = [1, 2, 3, 4, 5];
// 開始位置2 から 最後の5 まで
$result = array_slice($arr,1);
print_r($result);
実行結果
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 5
)
取得する数を指定することも可能です。数は、第三引数に指定します。
<?php
$arr = [1, 2, 3, 4, 5];
// 開始位置2 から 2つ
$result = array_slice($arr,1,2);
print_r($result);
実行結果
Array
(
[0] => 2
[1] => 3
)
範囲を超えてもエラーにならず、最大まで取得されます。
<?php
$arr = [1, 2, 3, 4, 5];
// 開始位置2 から 10つ
$result = array_slice($arr, 1, 10);
print_r($result);
実行結果
Array
(
[0] => 2
[1] => 3
[2] => 4
[3] => 5
)
また、開始位置をマイナスにすると後ろから数えることが可能です。
<?php
$arr = [1, 2, 3, 4, 5];
// 開始位置4 から 2つ
$result = array_slice($arr,-2,2);
print_r($result);
実行結果
Array
(
[0] => 4
[1] => 5
)
また、インデックス番号を保持したい場合は、第四引数に「true」を指定します。
<?php
$arr = [1, 2, 3, 4, 5];
// 開始位置2 から 2つ
$result = array_slice($arr, 1, 2, true);
print_r($result);
実行結果
Array
(
[1] => 2
[2] => 3
)
-
前の記事
C# 配列やリストに連続した値を作成する 2021.09.12
-
次の記事
javascript lodashを使ってオブジェクトの配列から最初に条件に一致した値を取得する 2021.09.13
コメントを書く