如何从 array_intersect() 获取区分大小写的 return
How can I get case-sensitive return from array_intersect()
我有两个数组,我需要将其与数组 1 中的 return 匹配值进行比较。请参考我下面的代码,
$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()
and use strcasecmp()
作为回调函数来比较它们不区分大小写,就像这样:
$result = array_uintersect($array1, $array2, "strcasecmp");
输出:
Array ( [a] => Green [0] => Red )
我有两个数组,我需要将其与数组 1 中的 return 匹配值进行比较。请参考我下面的代码,
$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()
and use strcasecmp()
作为回调函数来比较它们不区分大小写,就像这样:
$result = array_uintersect($array1, $array2, "strcasecmp");
输出:
Array ( [a] => Green [0] => Red )