Die Funktion array_diff_ukey(), die Schlüsselnamen mit benutzerdefinierten Funktionen in PHP vergleicht

黄舟
Freigeben: 2023-03-17 07:34:01
Original
1035 Leute haben es durchsucht

Beispiel

Vergleichen Sie die Schlüsselnamen zweier Arrays (verwenden Sie die vom Benutzer benutzerdefinierte benutzerdefinierte Funktion, um Schlüsselnamen zu vergleichen) und geben Sie den Differenzsatz zurück:

<?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);
?>
Nach dem Login kopieren

Definition und Verwendung

Die Funktion array_diff_ukey() wird verwendet, um die Schlüsselnamen von zwei (oder mehr) Arrays zu vergleichen und die Differenz zurückzugeben.

Hinweis: Diese Funktion verwendet eine benutzerdefinierte Funktion zum Vergleichen von Schlüsselnamen!

Diese Funktion vergleicht die Schlüsselnamen von zwei (oder mehr) Arrays und gibt ein Differenz-Array zurück, das alle Elemente im verglichenen Array (Array1), aber nicht in einem anderen Parameter-Array (Array2 oder Array3 usw.) enthält. .

Syntax

array_diff_ukey(array1,array2,array3...,myfunction);
Nach dem Login kopieren
< td width="953" valign="top" style="word-break: break-all;">Erforderlich. Eine Zeichenfolge
ParameterBeschreibung
array1Erforderlich . Das erste Array, das mit anderen Arrays verglichen wird.
array2Erforderlich. Das Array, das mit dem ersten Array verglichen werden soll.
array3,...Optional. Zusätzliche Arrays zum Vergleich mit dem ersten Array
myfunction
参数描述
array1必需。与其他数组进行比较的第一个数组。
array2必需。与第一个数组进行比较的数组。
array3,...可选。与第一个数组进行比较的其他数组
myfunction必需。一个定义了可调用比较函数的字符串。如果第一个参数 <, =, > 第二个参数,相应地比较函数必须返回一个 <, =, > 0 的整数。
, die eine aufrufbare Vergleichsfunktion definiert. Wenn das erste Argument <, =, > und das zweite Argument ist, muss die entsprechende Vergleichsfunktion eine Ganzzahl von <, =, > zurückgeben.

Technische Details

返回值:返回一个差集数组,该数组包括了所有在被比较的数组(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);
?>
Nach dem Login kopieren

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;
}));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDie Funktion array_diff_ukey(), die Schlüsselnamen mit benutzerdefinierten Funktionen in PHP vergleicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!