現在の位置: ホーム> 最新記事一覧> Array_sliceを使用して、N要素抽出を実装します

Array_sliceを使用して、N要素抽出を実装します

gitbox 2025-05-26

array_sliceの基本的な使用法は次のとおりです。

 array array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false)
  • $配列:操作する配列。

  • $ offset :開始位置(負の数は、マイナス数は配列の端から始まることを意味します)。

  • $ length :インターセプトされた長さ(オプション)。

  • $ preserve_keys :元の配列のキー名を保持するかどうか、デフォルトはfalseです。

2。配列内の最後のn要素を抽出する方法

配列の最後のn要素を抽出するために、キーはネガティブ$ offsetを使用することです。最後の3つの要素を抽出したい場合は、これを書くことができます。

 $lastThree = array_slice($array, -3);

ここで、 -3は、インターセプトが3つの位置からアレイの最後まで開始され、最終的に終了することを意味します。

3。サンプルコード

<?php

// アレイの例
$fruits = ["りんご", "バナナ", "オレンジ", "グレープ", "マンゴー", "パイナップル"];

// 最後を抽出します 3 要素
$lastThreeFruits = array_slice($fruits, -3);

print_r($lastThreeFruits);

出力結果:

 Array
(
    [0] => グレープ
    [1] => マンゴー
    [2] => パイナップル
)

デフォルトでは、 array_sliceは0から始まる配列のキー名をリセットします。元の配列のキー名を保持する場合は、4番目のパラメーターをtrueに設定できます。

 $lastThreeFruits = array_slice($fruits, -3, null, true);
print_r($lastThreeFruits);

出力:

 Array
(
    [3] => グレープ
    [4] => マンゴー
    [5] => パイナップル
)

4。実用的なアプリケーションシナリオ

一度に最新のnログのみを表示したいログの配列があるとしたら、 array_sliceで簡単に実装できます。

 $logs = [
    "2025-05-17 10:00: ユーザーログイン",
    "2025-05-17 10:05: ユーザーはファイルをアップロードします",
    "2025-05-17 10:15: ユーザー終了",
    "2025-05-17 10:20: ユーザーログイン",
    "2025-05-17 10:30: ユーザーの変更設定",
];

// 最近見せます 2 ログ
$recentLogs = array_slice($logs, -2);

foreach ($recentLogs as $log) {
    echo $log . PHP_EOL;
}

出力:

 2025-05-17 10:20: ユーザーログイン
2025-05-17 10:30: ユーザーの変更設定

5。URLの例を組み合わせます

複数のリンクを含む配列に取り組んでおり、最後のいくつかのリンクを取得したいとします。

 $urls = [
    "https://gitbox.net/page1",
    "https://gitbox.net/page2",
    "https://gitbox.net/page3",
    "https://gitbox.net/page4",
    "https://gitbox.net/page5",
];

// 最後の2つを取得します URL
$lastTwoUrls = array_slice($urls, -2);

print_r($lastTwoUrls);

出力:

 Array
(
    [0] => https://gitbox.net/page4
    [1] => https://gitbox.net/page5
)