Как удалить дублированное значение со специальным символом из массива в переполнении стека

Здесь у меня есть этот массив:

  $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и даже я попробовал это:

array_map("unserialize", array_unique(array_map("serialize", $myArray)));

Но мне не удалось удалить дубликаты. Я думаю, проблема в особом характере.

-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));

Если вы скажете, что есть только начальные и конечные пробелы для очистки, то это подойдет.

Код: (демонстрация)

$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)));
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);

DEMO

-2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector