La función array_diff_ukey() es una función incorporada en PHP. Se utiliza para comparar la clave de dos o más arrays utilizando una función definida por el usuario y devolver una array, que es array1 y no está presente ninguna otra array2, array3 o más…
Sintaxis:
array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)
Parámetros utilizados :
esta función acepta un mínimo de tres parámetros y los tres parámetros son obligatorios y el otro es opcional. Los parámetros se describen a continuación:
- $arreglo1(obligatorio):
el arreglo se comparará con otros arreglos (de tal manera que el arreglo se compare desde el arreglo1). - $array2(obligatorio):
La array Comparada con la primera array.
- $array3(Opcional):
La array Comparada con la primera array.
- arr_diffukeyFunction (obligatorio):
Es una función definida por el usuario requerida. Una string que define una función de comparación invocable.
La función de comparación devuelve un número entero que 0 si el primer argumento es que el segundo argumento.
Valor devuelto :
Devuelve una array que contiene las entradas de array1 que no están presentes en otras arrays como:-(arra2, arra3, arar4….more). Si todos los valores están presentes en otras arrays, la función devuelve NULL. El tipo de valor de retorno es una array.
Ejemplo 1:
Input: $arr1 = array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program "); $arr2 = array("one"=>"Java Program", "two"=>"C++ Program", "six"=>"Java Program"); Output: Array ( [three] => Java Program ) Explanation: First two values of arr1 are matched with arr2 and last value not matched so the function returns last value.
Ejemplo 2:
Input: $arr1=array("one"=>"C Program", "two"=>"PHP Program", "three"=>"Java Program "); $arr2=array("one"=>"Java Program", "two"=>"C++ Program", "three"=>"Java Program"); Output: Array ( ) Explanation: All values are matched with arr2 so function return null values.
Tomemos un ejemplo para comprender la función array_diff_ukey().
-
Programa 1: Tomar dos arreglos (arreglo1 y arreglo2) y usar la función de comparación de claves definida por el usuario (diffukeyFunction).
Solución simple en lenguaje PHP:
<?php
// Program of array_diff_ukey function in PHP
function
arr_diffukeyFunction(
$one
,
$two
)
{
if
(
$one
===
$two
) {
return
0;
}
return
(
$one
>
$two
) ? 1 : -1;
}
// Driver Code
$arr1
=
array
(
"one"
=>
"C Program"
,
"two"
=>
"PHP Program"
,
"three"
=>
"Java Program "
);
$arr2
=
array
(
"one"
=>
"Java Program"
,
"two"
=>
"C++ Program"
,
"six"
=>
"Java Program"
);
$result
=
array_diff_ukey
(
$arr1
,
$arr2
,
"arr_diffukeyFunction"
);
print_r(
$result
);
?>
Producción:Array ( [three] => Java Program )
-
Programa 2: tome tres arreglos (arreglo1, arreglo2 y arreglo3) y utilice la función de comparación de claves definida por el usuario (funcióndiffukeyFunction).
<?php
// Program of array_diff_ukey function in PHP
function
arr_diffukeyFunction(
$one
,
$two
)
{
if
(
$one
===
$two
) {
return
0;
}
return
(
$one
>
$two
) ? 1 : -1;
}
// Driver Code
$arr1
=
array
(
"one"
=>
"C Program"
,
"two"
=>
"PHP Program"
,
"three"
=>
"Java Program "
);
$arr2
=
array
(
"one"
=>
"XML Program"
,
"two"
=>
"C++ Program"
,
"four"
=>
"CSS Program"
);
$arr3
=
array
(
"five"
=>
"MVC Program"
,
"six"
=>
"C# Program"
,
"one"
=>
"ASP .NET Program"
);
$result
=
array_diff_ukey
(
$arr1
,
$arr2
,
$arr3
,
"arr_diffukeyFunction"
);
print_r(
$result
);
?>
Producción:Array ( [three] => Java Program )
- Programa 3: Devolver nulo si todos los valores coinciden en otras arrays
<?php
// Program of array_diff_ukey function in PHP
function
arr_diffukeyFunction(
$one
,
$two
)
{
if
(
$one
===
$two
) {
return
0;
}
return
(
$one
>
$two
) ? 1 : -1;
}
// Driver Code
$arr1
=
array
(
"one"
=>
"C Program"
,
"two"
=>
"PHP Program"
);
$arr2
=
array
(
"one"
=>
"Java Program"
,
"two"
=>
"C++ Program"
);
$result
=
array_diff_ukey
(
$arr1
,
$arr2
,
"arr_diffukeyFunction"
);
print_r(
$result
);
?>
Producción:
Array ( )
- Programa 4: si tomamos solo una array (array1) y usamos la función de comparación de claves definida por el usuario (diffukeyFunction), no hay salida y da un mensaje de advertencia de «ERROR DE TIEMPO DE EJECUCIÓN».
<?php
//Program of array_diff_ukey function in PHP
function
arr_diffukeyFunction(
$one
,
$two
)
{
if
(
$one
===
$two
) {
return
0;
}
return
(
$one
>
$two
) ? 1 : -1;
}
// Driver Code
$arr1
=
array
(
"one"
=>
"C Program"
,
"two"
=>
"PHP Program"
,
"three"
=>
"Java Program "
);
//take only one array
$result
=
array_diff_ukey
(
$arr1
,
"arr_diffukeyFunction"
);
print_r(
$result
);
?>
Producción:
No Output
Advertencia:
PHP Warning: array_diff_ukey(): at least 3 parameters are required, 2 given in /home/c0177af9f69e897ad93cc9855a9ae415.php on line 23