PHP array_udiff_uassoc() 函数

实例

比较两个数组的键名和键值(使用用户自定义函数进行比较),并返回差集:

<?php
function myfunction_key($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
function myfunction_value($a,$b)
{
if ($a===$b)
  {
  return 0;
  }
  return ($a>$b)?1:-1;
}
$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"red","b"=>"green","c"=>"green");
$result=array_udiff_uassoc($a1,$a2,"myfunction_key","myfunction_value");
print_r($result);
?>

运行实例

定义和用法

array_udiff_uassoc() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集。

注释:该函数使用两个用户自定义函数进行比较;第一个函数比较键名,第二个函数比较键值!

该函数比较两个(或更多个)数组的键名和键值,并返回一个差集数组,该数组包括了所有在被比较的数组(array1mas não está em qualquer outro array de parâmetros (array2 ou array3 e outros) os nomes dos elementos e valores.

说明

array_udiff_uassoc() 函数返回 array1 数组中存在但其它数组中都不存在的部分。返回的数组中键名保持不变。

注意与 array_diff() 以及 array_udiff() 不同的是键名也用于比较。同时进行键名和键值的比较,如 "a"=>1 和 "b"=>1 这两个元素是不相等的。

对键名(索引)的检查也是由回调函数 myfunction_key 正在进行。这和 array_udiff_assoc() o comportamento é diferente, o último usa a função interna para comparar índices.

a comparação dos dados do array é feita usando a função de callback fornecida pelo usuário myfunction_value é feito. Em relação a isso e array_diff_assoc() o comportamento é exatamente o oposto, o último usa a função interna para comparação.

Ambas as funções têm dois parâmetros que serão comparados. Se o primeiro parâmetro for menor que o segundo parâmetro, a função retorna um número negativo, se os dois parâmetros forem iguais, retorna 0, se o primeiro parâmetro for maior que o segundo, retorna um número positivo.

Sintaxe

array_udiff_uassoc(array1,array2,array3...myfunction_key,myfunction_value)
Parâmetros Descrição
array1 Obrigatório. O primeiro array para comparar com outros arrays.
array2 Obrigatório. O array para comparar com o primeiro array.
array3,... Opcional. Outros arrays para comparar com o primeiro array.
myfunction_key

Obrigatório. O nome da função de comparação personalizada para os nomes dos elementos do array.

Valores de string, que definem a função de comparação chamável. Se o primeiro parâmetro for menor igual ou maior que o segundo parâmetro, a função de comparação deve retornar um inteiro menor igual ou maior que 0.

myfunction_value

Obrigatório. O nome da função de comparação personalizada para os valores de array.

Valores de string, que definem a função de comparação chamável. Se o primeiro parâmetro for menor igual ou maior que o segundo parâmetro, a função de comparação deve retornar um inteiro menor igual ou maior que 0.

Detalhes Técnicos

Retorno: retorna um array de diferença, que inclui todos os elementos que estão em todos os arrays comparados (array1mas não está em qualquer outro array de parâmetros (array2 ou array3 e outros) os nomes dos elementos e valores.
Versão PHP: 5+