(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/ をチェックしてください。