Συνάρτηση array_udiff() PHP
Παράδειγμα
Σύγκριση των τιμών των κλειδιών δύο πινάκων (χρησιμοποιώντας προσαρμοσμένη συνάρτηση για σύγκριση των τιμών των κλειδιών) και επιστροφή της διαφοράς:
<?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_udiff($a1,$a2,"myfunction"); print_r($result); ?>
Ορισμός και χρήση
Η συνάρτηση array_udiff() χρησιμοποιείται για σύγκριση των τιμών των κλειδιών δύο (ή περισσότερων) πινάκων και επιστρέφει τη διαφορά.
Σημείωση:Σημείωση: Η συνάρτηση χρησιμοποιεί προσαρμοσμένη συνάρτηση για σύγκριση των τιμών των κλειδιών!
Η συνάρτηση συγκρίνει τις τιμές των κλειδιών δύο (ή περισσότερων) πινάκων και επιστρέφει έναν πίνακα διαφοράς που περιλαμβάνει όλες τις τιμές που βρίσκονται στους συγκριτικούς πίνακεςarray1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键值。
Περιγραφή
Η συνάρτηση array_udiff() επιστρέφει έναν πίνακα που περιλαμβάνει όλες τις τιμές που βρίσκονται σε οποιοδήποτε από τα συγκριτικά πίνακα, αλλά δεν βρίσκονται σε κανένα άλλο παράμετρο πίνακα, με τις ονομασίες των κλειδιών να παραμένουν ίδιες.
Η συνάρτηση array_udiff() είναι παρόμοια με array_diff() Η συμπεριφορά της συνάρτησης είναι διαφορετική, η δεύτερη χρησιμοποιεί εσωτερική συνάρτηση για σύγκριση.
Η σύγκριση των δεδομένων γίνεται με τη συνάρτηση array_udiff() του myfunction η διαδικασία.myfunction Η συνάρτηση έχει δύο παραμέτρους που θα συγκριθούν. Αν η πρώτη παράμετρος είναι μικρότερη από τη δεύτερη, η συνάρτηση επιστρέφει ένα αρνητικό αριθμό, αν οι δύο παράμετροι είναι ίδιες, επιστρέφει 0, και αν η πρώτη παράμετρος είναι μεγαλύτερη από τη δεύτερη, επιστρέφει έναν θετικό αριθμό.
γλώσσα
array_udiff(array1,array2,array3...myfunction)
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,... | 可选。与第一个数组进行比较的其他数组。 |
myfunction |
必需。字符串值,定义可调用的比较函数。 如果第一个参数小于等于或大于第二个参数,则比较函数必须返回小于等于或大于 0 的整数。 |
技术细节
返回值: | 返回差集数组,该数组包含所有在被比较的数组(array1)中,但是不在任何其他参数数组(array2 或 array3 等等)中的键值。 |
PHP 版本: | 5.1.0+ |
更多实例
例子 1
比较三个数组的键值(使用用户自定义函数比较键值),并返回差集:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>