1234Amit Ответов: 2

Удалите все дубликаты из списка салатов


как удалить дубликаты из списка салатов?

Что я уже пробовал:

<pre>$veggies = array("Potato", "Cucumber", "Carrot", "Orange", "Green Beans", "Onion");
            $fruits  = array("Apple", "Banana", "Orange", "Pineapple", "Grapes", "Watermelon");
            $salad = array_unique(array_merge($veggies ,$fruits));
            print_r($salad);

Maciej Los

Согласно документации, Ан array_unique[^ метод ] возвращает новый массив без повторяющихся значений. Что вам нужно? Что не так с вашим кодом?

2 Ответов

Рейтинг:
7

Christiaan van Bergen

Ваш код уже отфильтровывает все дубликаты. Если вам нужна нечувствительность к регистру, вы можете использовать эту функцию

function array_iunique($array) {
    return array_intersect_key(
        $array,
        array_unique(array_map("StrToLower",$array))
    );
}
(Нашел этот драгоценный камень на Stackoverflow[^].)
Используйте эту функцию в своем коде и измените "Оранжевый" в $veggies на "оранжевый".
$veggies = array("Potato", "Cucumber", "Carrot", "orange", "Green Beans", "Onion");
$fruits  = array("Apple", "Banana", "Orange", "Pineapple", "Grapes", "Watermelon");
$salad = array_iunique(array_merge($veggies ,$fruits));
print_r($salad);
Это приводит к тому, что
Array
(
    [0] => Potato
    [1] => Cucumber
    [2] => Carrot
    [3] => orange
    [4] => Green Beans
    [5] => Onion
    [6] => Apple
    [7] => Banana
    [9] => Pineapple
    [10] => Grapes
    [11] => Watermelon
)
Апельсин появляется только один раз в результате.


1234Amit

сэр, если в списке фруктов, если я меняю оранжевый цвет на оранжевый (я использовал маленькую букву "О"), это не дает мне выхода,

Christiaan van Bergen

Я обновил свой ответ.

1234Amit

сэр вы можете отредактировать мой код и позвонить мне потому что я не могу использовать функцию которую вы сказали

Christiaan van Bergen

Поместите эту функцию в файл кода и измените эту строку:
$салат = array_iunique(array_merge($овощи ,$фрукты));
Теперь он использует 'array_iunique' вместо 'array_unique'.

1234Amit

большое спасибо, сэр, его починили.

Рейтинг:
2

Maciej Los

Пожалуйста, смотрите мой комментарий к этому вопросу...

Согласно документации, Ан array_unique[^ метод ] возвращает новый массив без повторяющихся значений.