array_intersect_uassoc

(PHP 5, PHP 7, PHP 8)

array_intersect_uassocComputa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback

Descrição

array_intersect_uassoc(array $array, array ...$arrays, callable $key_compare_func): array

array_intersect_uassoc() retorna um array contendo todos os valores de array que estão presentes em todos os argumentos. Note que as chaves são usadas na comparação, ao contrário da função array_intersect().

Parâmetros

array

Array inicial para comparação dos arrays.

arrays

Arrays para comparar as chaves.

key_compare_func

A função de comparação deve retornar um inteiro menor que, igual ou maior que zero se o primeiro argumento for considerado respectivamente menor que, igual ou maior que o segundo.

callback(mixed $a, mixed $b): int
Cuidado

Retornar valores não inteiros da função de comparação, como float, resultará em uma conversão interna do valor retornado da função callback para int. Portanto, valores como 0.99 e 0.1 serão convertidos para o valor inteiro 0, o que comparará esses valores como iguais.

Valor Retornado

Retorna os valores de array cujos valores existem em todos os argumentos.

Exemplos

Exemplo #1 Exemplo da função array_intersect_uassoc()

<?php
$array1
= array("a" => "verde", "b" => "marrom", "c" => "azul", "vermelho");
$array2 = array("a" => "VERDE", "B" => "marrom", "amarelo", "vermelho");

print_r(array_intersect_uassoc($array1, $array2, "strcasecmp"));
?>

O exemplo acima produzirá:

Array
(
    [b] => marrom
)

Veja Também

  • array_intersect() - Calcula a interseção entre arrays
  • array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
  • array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback
  • array_uintersect_uassoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas
  • array_intersect_key() - Calcula a interseção de arrays, comparando pelas chaves
  • array_intersect_ukey() - Computa a interseção de arrays usando uma função de callback nas chaves para comparação

add a note add a note

User Contributed Notes 1 note

up
-32
swapniltiwhane at gmail dot com
11 years ago
$a = array(
        array(
                'id' => 15,
                'name' => 'John',
                'color' => 'red',
        ),
        array(
                'id' => 22,
                'name' => 'Elise',
                'color' => 'blue',
        ),
        array(
                'id' => 30,
                'name' => 'Mark',
                'color' => 'red',
        ),
);

$b = array(
        array(
                'id' => 15,
                'name' => 'Nancy',
                'color' => 'black',
        ),
        array(
                'id' => 20,
                'name' => 'Elise',
                'color' => 'blue',
        ),
        array(
                'id' => 30,
                'name' => 'Mark',
                'color' => 'red',
        ),
        array(
                'id' => 40,
                'name' => 'John',
                'color' => 'orange',
        ),
);

function compare_ids($a, $b)
{
    return ((bool)($a['id'] - $b['id']));
}

print_r(array_intersect_uassoc($a, $b, "compare_ids"));
To Top