Почему я получаю одно значение после использования array_unique()?

У меня есть этот массив... Я пытаюсь использовать array_unique, как мне этого добиться?

Array
(
    [0] => Array
        (
            [referrer_id] => usr1573
        )

    [1] => Array
        (
            [referrer_id] => usr1f0b4
        )

    [2] => Array
        (
            [referrer_id] => usr1573
        )

)

После использования array_unique отображаются одни данные.

    Array
(
    [0] => Array
        (
            [referrer_id] => usr1573
        )

)

Я хочу показать вывод, как это. Что очевидно.

Array
(
    [0] => Array
        (
            [referrer_id] => usr1573
        )

    [1] => Array
        (
            [referrer_id] => usr1f0b4
        )

)

каков ваш ожидаемый результат?

Bhargav Chudasama 04.05.2022 12:47

потому что у вас есть многомерный массив, arra_unique используется с single array

Bhargav Chudasama 04.05.2022 12:54

Используйте array_column, чтобы извлечь фактические значения referrer_id в простой массив и примените к нему array_unique. Это даст вам массив, содержащий элементы usr1573 и usr1f0b4 напрямую; если вам все еще нужно, чтобы они были обернуты в отдельные массивы под ключом referrer_id, вы можете воссоздать эту структуру из полученного результата.

CBroe 04.05.2022 12:57
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
27
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

потому что у тебя есть multidimensional array, array_unique is used with a single array

попробуй с этим кодом.

$array = array(
    [
        'referrer_id' => 'usr1573',
    ],
    [
        'referrer_id' => 'usr1f0b4'
    ],
    [
        'referrer_id' => 'usr1573'
    ]

);
$newArray = array_map("unserialize", array_unique(array_map("serialize", $array)));
print_r($newArray);

Использование сериализации для этого крайне неэффективно.

Olivier 04.05.2022 12:59

Другие вопросы по теме