PHP 配列同士を比較して存在しないものだけ取得する方法 / array_diff() array_diff_key()

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

PHPの「配列同士を比較して存在しないものだけ取得する方法」についてざっくり解説します。
詳細はPHPマニュアルを確認してください。
array_diff() / array_diff_key()

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

目次

書き方

array_diff()

array_diff(①, ②)
①比較元の配列
②比較対象の配列

array_diff_key()

array_diff_key(①, ②)
①比較元の配列
②比較対象の配列

array_diff

配列の値(中身)で比較する

サンプルコード

PHP
<?php

$sports1 = ["baseball", "soccer", "swim", "basketball"];
$sports2 = ["rugby", "judo", "soccer", "basketball"];

//$sports1を基準にして$sports2と比較する
$result = array_diff($sports1, $sports2);

//結果を出力
var_dump($result);

このコードの実行結果はこちら

PHP
array(2) {
  [0]=>
  string(8) "baseball"
  [2]=>
  string(4) "swim"

$sports1と$sports2の配列を値で比較した結果、異なるものだけ取得することができました!

array_diff_key

配列のキー(添字)で比較する

サンプルコード

PHP
<?php

$fruits1 = ["apple" => 1, "banana" => 2, "orange" => 3, "melon" => 4];
$fruits2 = ["cherry" => 5, "banana" => 6, "orange" => 7, "peach" => 8];

//$fruits1を基準にして$fruits2と比較する
$result = array_diff_key($fruits1, $fruits2);

//結果を出力
var_dump($result);

このコードの実行結果はこちら

PHP
array(2) {
  ["apple"]=>
  int(1)
  ["melon"]=>
  int(4)

$fruits1と$fruits2の配列をキーで比較した結果、異なるものだけ取得することができました!

まとめ

「array_diff() array_diff_key()」について、ざっくりでも理解できたら幸いです。


これからも一緒に頑張りましょう!!

あけお

あなたの挑戦を応援しています!!

よかったらシェアしてね!
目次