Maison > développement back-end > tutoriel php > Fonction array_diff_ukey() pour les noms de clés de comparaison de fonctions définies par l'utilisateur en php

Fonction array_diff_ukey() pour les noms de clés de comparaison de fonctions définies par l'utilisateur en php

黄舟
Libérer: 2023-03-17 07:34:01
original
1120 Les gens l'ont consulté

Exemple

Comparez les noms de clés de deux tableaux (utilisez l'utilisateurfonction personnalisée pour comparer les noms de clés) et renvoyez l'ensemble de différences :

<?php
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");

$result=array_diff_ukey($a1,$a2,"myfunction");
print_r($result);
?>
Copier après la connexion

Définition et la fonction Usage

array_diff_ukey() est utilisée pour comparer les noms de clé de deux (ou plus) tableaux et renvoyer la différence.

Remarque : Cette fonction utilise une fonction définie par l'utilisateur pour comparer les noms de clés !

Cette fonction compare les noms de clé de deux (ou plus) tableaux et renvoie un tableau de différence qui inclut tous les éléments du tableau comparé (tableau1) mais aucun autre tableau de paramètres (tableau2 ou tableau3, etc.) .

Syntaxe

array_diff_ukey(array1,array2,array3...,myfunction);
Copier après la connexion
< td width="953" valign="top" style="word-break: break-all;">Obligatoire. Une string
ParamètreDescription
array1Obligatoire . Le premier tableau à comparer avec d’autres tableaux.
array2Obligatoire. Le tableau à comparer au premier tableau.
array3,...Facultatif. Tableaux supplémentaires à comparer avec le premier tableau
ma fonction
参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。
array3,...可选。与第一个数组进行比较的其他数组
myfunction必需。一个定义了可调用比较函数的字符串。如果第一个参数 <, =, > 第二个参数,相应地比较函数必须返回一个 <, =, > 0 的整数。
qui définit une fonction de comparaison appelable. Si le premier argument est <, =, > et que le deuxième argument l'est, la fonction de comparaison correspondante doit renvoyer un entier <, =, >

Détails techniques

返回值:返回一个差集数组,该数组包括了所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键名。
PHP 版本:5.1+

更多实例

实例 1

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

<?php
function myfunction($a,$b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)?1:-1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"black","b"=>"yellow","d"=>"brown");
$a3=array("e"=>"purple","f"=>"white","a"=>"gold");

$result=array_diff_ukey($a1,$a2,$a3,"myfunction");
print_r($result);
?>
Copier après la connexion

1.函数的作用:使用调用者自定义的函数,根据键值,返回数组的差集;

2.函数的参数

  @params array $array1 被比较的数组

  @params array $array2 比较的数组

  @params array $array3 比较的数组

  ...

3.注意点:

  1)自定义的函数根据第一个参数小于、等于、大于分别返回小于0、等于0、大于0;

4.例子:

<?php
$array1 = [&#39;A&#39; => 1,&#39;B&#39; => 2,&#39;c&#39; => 3,0 => 4];
$array2 = [&#39;A&#39; => 1,&#39;b&#39; => 2,&#39;C&#39; => 3,&#39;0&#39; => 4];
print_r(array_diff_ukey($array1,$array2,function($a,$b){
    if($a === $b)
    {
        return 0;
    }
    return $a < $b ? -1 : 1;
}));
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal