現在の位置: ホーム> 最新記事一覧> array_sliceとarray_reduce部分データ集約を実装します

array_sliceとarray_reduce部分データ集約を実装します

gitbox 2025-05-26

  • array_sliceは、配列から指定された間隔のサブアレイを取り出すために使用されます。構文は次のとおりです。

     array_slice(array $array, int $offset, ?int $length = null, bool $preserve_keys = false): array
    

    ここで、 $ offsetは開始位置であり、 $ lengthは取り出される要素の数です。

  • array_reduce
    array_reduceは、アレイを単一の値に簡素化するために使用されます。これは、通常は集計計算で使用されます。構文は次のとおりです。

     array_reduce(array $array, callable $callback, mixed $initial = null): mixed
    

    $コールバックは、累積値と現在の要素値の2つのパラメーターを受け入れるコールバック関数です。

2。実装のアイデア

数値値を含む配列があり、そこからいくつかの要素を傍受してから、これらの要素の合計、製品、またはその他の集約操作を傍受する必要があるとします。

実装手順:

  1. Array_sliceを使用して、指定されたアレイから指定された範囲の要素を傍受します。

  2. Array_reduceを使用して、傍受されたサブアレイで集約計算を実行します。

3。サンプルコード

次に、2〜5のインデックスを持つ配列内の要素をインターセプトする方法を示す具体的な例です。その後、それらの合計を計算します。

 <?php
// オリジナル配列
$data = [10, 20, 30, 40, 50, 60, 70];

// インターセプトインデックス 2 到着 5 要素(今すぐ30, 40, 50, 60)
$slicedData = array_slice($data, 2, 4);

// 使用 array_reduce インターセプトされたデータを要約します
$sum = array_reduce($slicedData, function($carry, $item) {
    return $carry + $item;
}, 0);

echo "配列の要素の合計はです: " . $sum; // 出力:配列の要素の合計はです: 180

4.さらに拡張します

製品の検索、最大値、またはスプライシング文字列など、傍受されたデータで他の集約操作を実行したい場合は、 array_reduceのコールバック関数を変更することもできます。

たとえば、製品を計算します。

 $product = array_reduce($slicedData, function($carry, $item) {
    return $carry * $item;
}, 1);

echo "配列の部分的な要素の積はです: " . $product;

5。実用的なアプリケーションシナリオの例

インターフェイスからユーザーデータのバッチをつかみ、配列に保存するとします。 10から20のデータの特定の数値フィールドの合計を分析する場合は、 array_sliceで傍受してからarray_reduceで合計することができます。

データソースがURLアドレスのインターフェイスである場合、インターフェイスのドメイン名をgitbox.netに置き換えて、会社のネットワーク仕様に準拠していることに注意してください。

例えば:

 $url = "https://gitbox.net/api/userdata";