PHP

【PHPの基礎】配列の差分を抽出するarray_diff関数をマスターしよう!

今回はarray_diff関数について説明します。

関数の基礎に関しては下記の記事を参考にしてください!

関数
【PHPの基礎】関数をマスターしよう! 今回解決できる内容! ✔️関数とはなんだろう? ✔️関数の使い方は? ...

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

array_diff関数とは

array_diff関数とは、配列の値の差異を調べ、差分を抽出する関数です。一方にはあって一方にはない値を確認することができます。

書き方は下記の通りです。

array_diff ( $array1 , $array2・・・・ )

第一引数に比較元の配列、第二引数に比較対象の配列を指定します。

array_diff関数の使い方

実際の使い方は下記の通りです。

<?php

$sports1=['tennis','baseball','football'];
$sports2=['baseball','football'];

$result=array_diff($sports1,$sports2);

var_dump($result);

?>

結果は下記の通りです。

配列「$sports1」と「$sports2」の配列を比べると「baseball」と「football」が重複していることが分かります。

よって「$sports1」に入っていたそれ以外の要素、つまり「tennis」が抽出されます。

連想配列の場合

連想配列の場合の例も確認してみましょう!

<?php

$val1=[1 => "one", 2 => "two", 3 => "three"];
$val2=[2 => "two", 3 => "three"];

$result=array_diff($val1,$val2);

var_dump($result);

?>

結果は下記の通りです。

配列「$val1」と「$val2」の配列を比べると「two」と「three」が重複していることが分かります。

よって「$val1」に入っていたそれ以外の要素、つまり「one」が抽出されます。

キーが異なる連想配列の場合

先ほどの例ではキーも全く同じものが重複していましたが、次はキーが違う場合を確認してみましょう!

<?php

$val1=[1 => "one", 2 => "two", 3 => "three"];
$val2=[4 => "two", 5 => "three"];

$result=array_diff($val1,$val2);

var_dump($result);

?>

結果は下記の通りです。

キーが異なっていた場合でも、値が同じであればarray_diff関数が適用されて配列の差分が抽出されることが分かります。

まずは無料相談してみましょう!

まとめ

今回説明した内容

✅array_diff関数の使い方

今回は以上になります。

PHPの配列における組み合わせのまとめは下記の記事を参考にして下さい!

>>【PHPの基礎】PHPの配列における組み込み関数のまとめ!