by shigemk2

当面は技術的なことしか書かない

array_uintersect

https://www.php.net/manual/ja/function.array-uintersect.php

<?php
// 他の全ての引数に存在する array1 の値を全て有する配列を返す
// 比較関数は、最初の引数と二番目の引数の比較結果を返します。
// 最初の引数のほうが二番目の引数より大きい場合は正の数を、二番目の引数と等しい場合はゼロを、そして二番目の引数より小さい場合は負の数を返す必要があります。
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");

print_r(array_uintersect($array1, $array2, "strcasecmp"));
// Array
// (
//     [a] => green
//     [b] => brown
//     [0] => red
// )

https://www.php.net/manual/ja/function.strcasecmp.php

(バイナリセーフ比較 str1 が str2 より小さい場合は負、str1 が str2 より大きい場合は正、等しい場合は 0 を返します)