Home  >  Article  >  Backend Development  >  How to use array_diff_ukey() function in PHP?

How to use array_diff_ukey() function in PHP?

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-06-08 17:27:181713browse

This article will introduce to you how to use the "array_diff_ukey()" function in PHP. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.

How to use array_diff_ukey() function in PHP?

array_diff_ukey() function is a built-in function in PHP. It is used to compare two or more arrays of keys using a user-defined function and returns an array that is array1 and does not exist any other array2, array3 or more...

The syntax is as follows:

array_diff_ukey($array1, $array2, $array3..., arr_diffukeyFunction)

Using parameters: This function accepts a minimum of three parameters, while all three parameters are required and one is optional. The parameters are described as follows:

  • #$ array1 (mandatory): This array will be compared to other arrays (for example, this array is compared from array1).

  • $ array2 (mandatory): Array compared to the first array.

  • $ array3 (optional): Array compared to the first array.

arr_diffukeyFunction (mandatory): This is a required user-defined function. Defines a string on which comparison functions can be called. If the first argument is greater than the second argument, the comparison function returns an integer greater than 0.

Return value: Returns an array containing entries in array1 that do not exist in other arrays, for example: -(arra2, arra3, arar4….more). If all values ​​exist in other arrays, the function returns NULL. The return value type is an array.

Example 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.

Example 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.

Let us take an example to understand the array_diff_ukey() function.

Program 1: Get two arrays (array1 and array2) and use the user-defined key comparison function (diffukeyFunction).

Simple solution in PHP language:

<?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 );
?>

The output is as follows:

Array
(
    [three] => Java Program 
)

Program 2: Get three arrays (array1, array2 and arra3), and use user-defined Key comparison function (diffukeyFunction).

<?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 );
?>

The output is as follows:

Array
(
    [three] => Java Program 
)

Program 3:

If all values ​​match in other arrays, Null is returned

<?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 );
?>

The output is as follows:

Array
(
)

Example 4:

If only one array (array1) is used, and a user-defined key comparison function (diffukeyFunction) is used, there is no output and a "RUNTIME ERROR" warning message is given.

<?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 );
?>

The output is as follows:

No Output

Warning:

PHP Warning:  array_diff_ukey(): at least 3 parameters are required, 2 given in /home/c0177af9f69e897ad93cc9855a9ae415.php on line 23

Recommended learning: php video tutorial

The above is the detailed content of How to use array_diff_ukey() function in PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn