Home >Backend Development >PHP Tutorial >PHP compares the key names and key values ​​of two arrays and returns the difference function array_diff_uassoc()

PHP compares the key names and key values ​​of two arrays and returns the difference function array_diff_uassoc()

黄舟
黄舟Original
2017-11-07 10:32:191298browse

Example

Compare the key names and key values ​​​​of the two arrays (use user custom function to compare the key names), and return the difference set:

<?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("d"=>"red","b"=>"green","e"=>"blue");

$result=array_diff_uassoc($a1,$a2,"myfunction");
print_r($result);
?>

Definition and Usage

array_diff_uassoc() function is used to compare the key names and key values ​​of two (or more) arrays and return the difference.

Note: This function uses a user-defined function to compare key names!

This function compares the key names and key values ​​​​of two (or more) arrays, and returns a difference array, which includes everything in the compared array (array1), but not in any other The key name and key value in the parameter array (array2 or array3, etc.).

Syntax

array_diff_uassoc(array1,array2,array3...,myfunction);
Parameters Description
array1 Required. The first array to compare with other arrays.
array2 Required. The array to compare to the first array.
array3,... Optional. Additional array to compare with the first array.
myfunction Required. A string that defines a callable comparison function. If the first argument is f2c570bc5a616fb55b90df8c3566974f and the second argument is, the corresponding comparison function must return an integer of f2c570bc5a616fb55b90df8c3566974f 0.

Technical details

Return value: Returns a difference array, which includes Returns all key names and values ​​that are in the compared array (array1) but not in any other parameter array (array2 or array3, etc.).
PHP version: 5+

更多实例

实例 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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");

$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

例子 2

如何为该函数分配多个数组:

<?php 
function myfunction($v1,$v2) 
{ 
if ($v1===$v2) 
{ 
return 0; 
} 
if ($v1>$v2) 
{ 
return 1; 
} 
else 
{ 
return -1; 
} 
} 
$a1=array(0=>"Dog",1=>"Cat",2=>"Horse"); 
$a2=array(3=>"Dog",1=>"Cat",5=>"Horse"); 
$a3=array(6=>"Bird",0=>"Dog",5=>"Horse"); 
print_r(array_diff_uassoc($a1,$a2,$a3,"myfunction")); 
?>

输出:

Array ( [2] => Horse )


The above is the detailed content of PHP compares the key names and key values ​​of two arrays and returns the difference function array_diff_uassoc(). 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