I want to stress that in the user function, you do need to return either a 1 or a -1 properly; you cannot simply return 0 if the results are equal and 1 if they are not.
The following code is incorrect:
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
return 1;
}
$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>
This code is correct:
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
if ($v1 > $v2) return 1;
return -1;
}
$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>
array_uintersect
(PHP 5)
array_uintersect — Computes the intersection of arrays, compares data by a callback function
Descrierea
array array_uintersect
( array
$array1
, array $array2
[, array $ ...
], callable $data_compare_func
)Computes the intersection of arrays, compares data by a callback function.
Parametri
-
array1 -
The first array.
-
array2 -
The second array.
-
data_compare_func -
Funcția de comparare trebuie să întoarcă un întreg mai mic, egal cu sau mai mare decât zero dacă primul argument este considerat respectiv mai mic, egal cu sau mai mare decât al doilea argument.
Valorile întoarse
Returns an array containing all the values of array1
that are present in all the arguments.
Exemple
Example #1 array_uintersect() example
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "GREEN", "B" => "brown", "yellow", "red");
print_r(array_uintersect($array1, $array2, "strcasecmp"));
?>
Exemplul de mai sus va afișa:
Array
(
[a] => green
[b] => brown
[0] => red
)
Vedeți de asemenea
- array_intersect() - Computes the intersection of arrays
- array_intersect_assoc() - Computes the intersection of arrays with additional index check
- array_uintersect_assoc() - Computes the intersection of arrays with additional index check, compares data by a callback function
- array_uintersect_uassoc() - Computes the intersection of arrays with additional index check, compares data and indexes by a callback functions
Nate at RuggFamily dot com ¶
6 years ago
