У меня есть два массива, и мне нужно сравнить их и вернуть сопоставленное значение из массива. Пожалуйста, напишите мой код ниже,
$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 )