Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices utilizando funções de callback separadas

# array_uintersect_uassoc

(PHP 5, PHP 7, PHP 8)

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

### Descrição

function array_uintersect_uassoc(
array `$array1`,
array `...$arrays`,
callable `$value_compare_func`,
callable `$key_compare_func`
): array

Computa a interseção de arrays com checagem adicional de índice, compara dados e índices utilizando funções de callback separadas.

### Parâmetros

`array1`

  Primeiro array.

`arrays`

  Outros arrays.

`value_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.
  function 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.

  Cuidado

  A função chamada de ordenação deve lidar com qualquer valor de qualquer array em qualquer ordem, independentemente da ordem em que eles foram originalmente fornecidos. O motivo é que cada array individual é primeiramente ordenado antes de ser comparado com outros arrays. Por exemplo:

      <?php
      $arrayA = ["string", 1];
      $arrayB = [["value" => 1]];
      // $item1 e $item2 podem ser "string", 1 ou ["value" => 1]
      $compareFunc = static function ($item1, $item2) {
          $value1 = is_string($item1) ? strlen($item1) : (is_array($item1) ? $item1["value"] : $item1);
          $value2 = is_string($item2) ? strlen($item2) : (is_array($item2) ? $item2["value"] : $item2);
          return $value1 <=> $value2;
      };
      ?>

`key_compare_func`

  Função para comparação das chaves (índices).

### Valor Retornado

Retorna um array contendo todos os valores de `array1` que estão presentes em todos os argumentos.

### Exemplos

Exemplo #1 Exemplo de array_uintersect_uassoc()

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

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

O exemplo acima produzirá:

    Array
    (
        [a] => verde
        [b] => marrom
    )

### Veja Também

- array_uintersect() - Computa a interseção de array, comparando dados com uma função callback
- array_intersect_assoc() - Computa a interseção de arrays com uma adicional verificação de índice
- array_intersect_uassoc() - Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de callback
- array_uintersect_assoc() - Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma função de callback

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open