Различные методы поиска уникальных различий значений в массивах PHP

Чтобы найти разницу между уникальными значениями в массиве PHP, вы можете использовать несколько методов. Вот несколько примеров:

  1. Использование array_diff() и array_unique():

    $array1 = [1, 2, 3, 4, 5];
    $array2 = [4, 5, 6, 7, 8];
    $uniqueDiff = array_diff(array_unique($array1), array_unique($array2));
    print_r($uniqueDiff);

    Выход:

    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )

    В этом примере array_unique()используется для удаления повторяющихся значений из каждого массива, а затем array_diff()сравнивает уникальные значения первого массива с уникальными. значения второго массива, возвращающие разницу.

  2. Использование array_values() и array_diff():

    $array1 = [1, 2, 3, 4, 5];
    $array2 = [4, 5, 6, 7, 8];
    $uniqueDiff = array_values(array_diff($array1, $array2));
    print_r($uniqueDiff);

    Выход:

    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )

    В этом примере array_diff()напрямую сравнивает значения первого массива со значениями второго массива, возвращая разницу. array_values()затем используется для числового переиндексирования результирующего массива.

  3. Использование array_filter() и array_count_values():

    $array1 = [1, 2, 3, 4, 5];
    $array2 = [4, 5, 6, 7, 8];
    $counts = array_count_values(array_merge($array1, $array2));
    $uniqueDiff = array_keys(array_filter($counts, function ($value) {
    return $value === 1;
    }));
    print_r($uniqueDiff);

    Выход:

    Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    )

    В этом примере array_merge()объединяет два массива в один. Затем array_count_values()подсчитывает вхождения каждого значения. Наконец, array_filter()используется для фильтрации значений, которые появляются более одного раза, а array_keys()извлекает уникальные значения.