Как удалить из массива пары повторяющихся символов (зеркальных в том числе)? (PHP)
Например, есть массив $arr = {"ia", "ai", "go", "og", "og", "cr", "og", "rc"}
Как получить массив $arr = {"ia", "go", "cr"} ?
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
к массиву применяем метод array_map, где для каждого элемента применяем действия:
$stringParts = str_split($item); sort($stringParts); return implode($stringParts);Это чтобы отсортировать символы в строке по алфавиту.
Затем к массиву необходимо применить к массиву метод array_unique
Автор решения: Jean-Claude
→ Ссылка
Грунди постоянно использует array_reduce(), попробовал сваять на нем:
$arr = ["ia", "ai", "go", "og", "og", "cr", "og", "rc"];
$new = array_reduce($arr, function ($acc, $item) {
if (!in_array($item, $acc) && !in_array(strrev($item), $acc)) {
array_push($acc, $item);
}
return $acc;
}, []);
print_r($new);
//Array ( [0] => ia [1] => go [2] => cr )
В работе https://3v4l.org/SYgPk