这里有这个数组:
Decodable
此处,四个值相同。所以我只想保留一个。
我确实尝试使用 $myArray = array(5) {
[0]=> string(62) " läs våra leveransvillkor/reservationer "
[1]=> string(61) " läs våra leveransvillkor/reservationer "
[2]=> string(60) " läs våra leveransvillkor/reservationer"
[3]=> string(107) "om skorstenen bryter nock, ränndal, bjälke, el, vent etc tillkommer kostnad för vinklar eller avväxling"
[4]=> string(59) "läs våra leveransvillkor/reservationer"
}
,甚至我也尝试这样做:
array_unique
但是我没有成功删除重复项。我想这是因为字符特殊。
答案 0 :(得分:2)
您的var_dump暴露出您的字符串中包含不可打印的字符。
您将需要通过删除不可打印的字符来准备数据。如果您使用的是UTF-8,则应该这样做...
$myArray = preg_replace('/[\x00-\x1F\x7F]/u', '', $myArray);
然后您将可以使用:
$myArray = array_unique($myArray);
或者当然,将它们组合成一行:
$myArray = array_unique(preg_replace('/[\x00-\x1F\x7F]/u', '', $myArray));
如果您说只有前导空格和尾随空格要擦掉,那么就可以了。
代码:(Demo)
$myArray = [
" läs våra leveransvillkor/reservationer ",
" läs våra leveransvillkor/reservationer ",
" läs våra leveransvillkor/reservationer",
"om skorstenen bryter nock, ränndal, bjälke, el, vent etc tillkommer kostnad för vinklar eller avväxling",
"läs våra leveransvillkor/reservationer"
];
var_export(array_unique(array_map('trim', $myArray)));
答案 1 :(得分:-2)
它与 array_unique 一起使用
$myArray = array(
'0'=> "läs våra leveransvillkor/reservationer",
'1'=> "läs våra leveransvillkor/reservationer",
'2'=> "läs våra leveransvillkor/reservationer",
'3'=> "om skorstenen bryter nock, ränndal, bjälke, el, vent etc tillkommer kostnad för vinklar eller avväxling" ,
'4'=> "läs våra leveransvillkor/reservationer",
);
$result = array_unique($myArray);
print_r($result);