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+ |