Kintarou'sBlog

プログラミング学習中。学習内容のアウトプットや読書で学んだことなど随時投稿!

【PHP】配列の作成・計算・重複に対する操作をする関数

こんにちは😊Kintarouです。

現在エンジニア転職を目指してTECH CAMPにてプログラミング学習中です👨‍🎓
夢はフリーランスエンジニアになって働く人が働きやすいシステムを作ること!
と、愛する妻と海外移住すること🗽

プログラミングや読んでいる本のことなど、ブログに書いていきます!
twitter : https://twitter.com/ryosuke_angry


今回参考にさせて頂いたサイト様🙇‍♂️ dotinstall.com


配列の簡易作成

関数名 配列の処理
array_fill 指定した要素をn個分含めた配列を作成する。
range 指定した要素から連続した要素をnまで含めた配列を作成する。
<?php

#添字0から5個、要素10を含めた配列を作る。
$scores = array_fill(0, 5, 10);
print_r($scores);

#=>Array
#=>(
#=>    [0] => 10
#=>    [1] => 10
#=>    [2] => 10
#=>    [3] => 10
#=>    [4] => 10
#=>)

#要素1から10まで連続した要素を含めた配列を作る。
$scores = range(1, 10);
print_r($scores);

#=>Array
#=>(
#=>    [0] => 1
#=>    [1] => 2
#=>    [2] => 3
#=>    [3] => 4
#=>    [4] => 5
#=>    [5] => 6
#=>    [6] => 7
#=>    [7] => 8
#=>    [8] => 9
#=>    [9] => 10
#=>)

#要素1から10まで2刻みで連続した要素を含めた配列を作る。
$scores = range(1, 10, 2);
print_r($scores);

#=>Array
#=>(
#=>    [0] => 1
#=>    [1] => 3
#=>    [2] => 5
#=>    [3] => 7
#=>    [4] => 9
#=>)

配列の合計、最大値、最小値、平均を求める。

関数名 配列の処理
array_sum 配列の合計を返す
max 配列の最大値を返す
min 配列の最小値を返す
count 配列の個数を返す

※平均を返す関数はないので、合計/個数で平均を求めます。

<?php

$scores = range(1, 10, 2);

echo array_sum($scores) . PHP_EOL;
#=>25

echo max($scores) . PHP_EOL;
#=>9

echo min($scores) . PHP_EOL;
#=>1

echo array_sum($scores) / count($scores) . PHP_EOL;
#=>5

配列の連結、差、共通項を操作する

2つの配列の連結や、重複の取り除き、重複の取り出しを行います。

関数名 配列の処理
array_marge 2つの配列を連結する
array_unique 配列の内、重複した要素を除去し1種類ずつにした配列を作成する
array_diff 配列aから配列bに含まれる要素を除去する
array_intersect 配列aと配列bの共通要素を返す
<?php

$a = [3, 4, 8];
$b = [4, 8, 12];

#$aと$bを連結させます。
#$merged = [...$a, ...$b] と同義です。
$merged = array_merge($a, $b);
print_r($merged);

#=>Array
#=>(
#=>    [0] => 3
#=>    [1] => 4
#=>    [2] => 8
#=>    [3] => 4
#=>    [4] => 8
#=>    [5] => 12
#=>)

#4と8が重複してるので1つにします。
$uniques = array_unique($merged);
print_r($uniques);

#=>Array
#=>(
#=>    [0] => 3
#=>    [1] => 4
#=>    [2] => 8
#=>    [5] => 12
#=>)

#$aの要素の内$bにある要素(重複している4と8)を取り除きます。
$diff = array_diff($a, $b);
print_r($diff);

#=>Array
#=>(
#=>    [0] => 3
#=>)

#$aと$bの共通の要素を取り出します。
$common = array_intersect($b, $a);
print_r($common);

#=>Array
#=>(
#=>    [0] => 4
#=>    [1] => 8
#=>)

本日は一旦この辺で終わっておきます!
以上、どなたかの参考になれば幸いです😊