$text = "Wyse Dell WYSE";
$words = array_unique(explode(' ',$text));
$words = implode(' ',$words);
echo $words;
// output: Wyse dell WYSE
此解决方案对区分大小写并立即重复单词,但并不总是如上例所示。我需要它来进行不区分大小写的搜索。
答案 0 :(得分:3)
$text = "Wyse Dell WYSE";
$words = array_iunique(explode(' ',$text));
$words = implode(' ',$words);
echo $words;
function array_iunique($array) {
return array_intersect_key(
$array,
array_unique(array_map("StrToLower",$array))
);
}
来源:case-insensitive array_unique
array_map
将strtolower
应用于所有值,并返回一个数值较低的数组,array_unique
删除array_map
array_intersect_key
返回一个数组,其中包含$ array的所有条目,其中包含以array_unique
有关功能的更多详情:
array_map
:http://php.net/manual/en/function.array-map.php
array_intersect_key
:http://php.net/manual/en/function.array-intersect-key.php
strtolower
:http://php.net/strtolower
答案 1 :(得分:0)
尝试这样的事情。
$text = "Wyse Dell WYSE";
$words = array_unique(explode(' ',strtolower($text)));
$words = implode(' ',$words);
echo $words;