现在,我有一个返回函数:
return array_unique(array_merge( $sizes, $custom_sizes ));
我的问题是某个键在一个键中可以是小写的,而在另一个键中可以是大写的。
例如,我可以得到$sizes的"缩略图"和$custom_size的"缩略图" - 在这种情况下,我当然想删除一个。
(名称大小写相同:
《星球大战》VR。《星球大战》vr.《星球大战》vr."星球大战")
如何使array_unique()不区分大小写?
编辑一:以下评论,澄清:
我还希望能够选择要保留的版本(第一个数组中的版本,或第二个数组中的版本......
谷歌上的第一个点击是 PHP.net 页面,它提供:
function in_iarray($str, $a){
foreach($a as $v){
if(strcasecmp($str, $v)==0){return true;}
}
return false;
}
function array_iunique($a){
$n = array();
foreach($a as $k=>$v){
if(!in_iarray($v, $n)){$n[$k]=$v;}
}
return $n;
}
$input = array("aAa","bBb","cCc","AaA","ccC","ccc","CCC","bBB","AAA","XXX");
$result = array_iunique($input);
print_r($result);
/*
Array
(
[0] => aAa
[1] => bBb
[2] => cCc
[9] => XXX
)
*/