Как я могу получить возвращаемое регистром возвращение из array_intersect ()

У меня есть два массива, и мне нужно сравнить их и вернуть сопоставленное значение из массива. Пожалуйста, напишите мой код ниже,

$array1 = array("a" => "Green", "Red", "Blue"); $array2 = array("b" => "grEEn", "yellow", "red"); $result = array_intersect(array_map('strtolower', $array1), array_map('strtolower', $array2)); print_r($result); 

Мой результат,

 Array ( [a] => green [0] => red ) 

Но мой ожидаемый результат: я хочу получить его от array1 как:

 Array ( [a] => Green [0] => Red ) 

Это связано с тем, что все значения имеют строчные значения. Просто измените на array_uintersect() и используйте strcasecmp() качестве функции обратного вызова, чтобы сравнить их без strcasecmp() регистра, например:

 $result = array_uintersect($array1, $array2, "strcasecmp"); 

вывод:

 Array ( [a] => Green [0] => Red )