te14

PHP の array_chunk – Stitcher.io

(jp) =

PHP には、多くの開発者にとって未発見のネイティブ関数がたくさんあります。 通常、本当に必要になるまで、これらの機能を発見することはありません。 array_chunk 個人的には確かにこれらの機能の1つです。 この記事では、 array_chunk それが何をするか、それが実際に使われているのを見てください。

# array_chunk そしてそれがどのように機能するか

array_chunk 配列をチャンクにスライスするためのかなり気の利いた名前です。 これは基本的に関数が行うことであり、配列を読み取り、それをチャンクに分割します。

これを開発者の言葉で説明しましょう。配列があります。 [1, 2, 3, 4, 5, 6, 7, 8]、 を使用しております array_chunk 配列で、2 つのアイテムのチャンクが必要であることを指定します。 出力は以下のようになります。

$input = [1, 2, 3, 4, 5, 6, 7, 8];

array_chunk($input, 2);

[
    0 => [1, 2], 
    1 => [3, 4], 
    2 => [5, 6], 
    3 => [7, 8],
]

かっこいいでしょ? この機能を使用すると、特にセグメント平均を使用して、統計目的でどのように利用できるかをすぐに確認できます。

この関数は、次の 3 つのパラメーターを受け入れます。

  • array
  • として必要なチャンクのサイズ int
  • boolean 元の配列のキーを保持するかどうかを関数に指示します。 ノート: デフォルトは false.

# 現実の問題

このシナリオを一緒に見てみましょう。私の上司は、自分の店からの各営業週の平均利益を知りたがっています。 各週の営業日は 5 日です。

ですから、議論のために、店のデータベースから過去 20 日間の店の売り上げを照会したとしましょう。 返されたデータは、配列に 20 個のエントリを入力するため、4 週間の作業期間があります。

これで問題が残ります。4 週間の 5 日ごとの平均売上を計算する必要があります。 この次のセクションをフォローして、結果を達成してください。

# の平均セグメント array_chunk

データ配列には 20 エントリがあり、各週の平均売上 (5 エントリ) が必要であることがわかっています。 活用しましょう array_chunk 計算を行うためにネイティブ PHP を少し追加します。

$sales = [
   250.70, 220.10, 233, 243.50, 255,
   200, 300, 234, 350, 222,
   237.99, 200.30, 150.98, 201, 209,
   200, 300, 240, 203, 280,
];



$salesPerWeek = array_chunk($sales, 5);


$averageSales = array_map(
   fn(array $items) => array_sum($items) / count($items),
   $salesPerWeek
);

さて、内容を印刷すると $averageSales 次のようなものが得られます。

[
    240.46,
    261.2,
    199.854,
    244.6,
]

完全な透明性のためにコードを分解してみましょう。

  • まず、毎日の売上データの 20 エントリを含む配列があります。
  • 次に、 array_chunk 5つのグループに分けます。
  • 次に、使用します array_map 各チャンクで、使用します array_sum チャンクの数で割って平均を出します。

それだけです!

このタイプの機能は、セグメンテーションを必要とする多くの統計アプリケーションで使用できます。 この記事の例は、その方法を示しています。 array_chunk その背後にあるふりをしたユースケースで、素人の言葉で動作します。 私のコンテンツをもっと見たい場合は、ブログ https://www.codewall.co.uk/ をチェックしてください。

次の投稿
壮大な戦い: 巨大なグリズリー ベア vs. サーベルタイガー
前の投稿
シドニーの高校、つけ爪を理由に10年生の卒業を禁止

ノート:

AZ: 動物の世界、ペット、ペット、野生の自然に関するカテゴリー記事…
SP:スポーツカテゴリー。
New vs Ne: ニュースコラム。
Te: テクノロジー カテゴリ。
Gt:エンターテインメントカテゴリー。
Bt: 占い、星占い、超常現象、超常現象。
Ta:人生コラム。