
- PHP Tutorial
- PHP - Home
- PHP - Introduction
- PHP - Environment Setup
- PHP - Syntax Overview
- PHP - Variable Types
- PHP - Constants
- PHP - Operator Types
- PHP - Decision Making
- PHP - Loop Types
- PHP - Arrays
- PHP - Strings
- PHP - Web Concepts
- PHP - GET & POST
- PHP - File Inclusion
- PHP - Files & I/O
- PHP - Functions
- PHP - Cookies
- PHP - Sessions
- PHP - Sending Emails
- PHP - File Uploading
- PHP - Coding Standard
- Advanced PHP
- PHP - Predefined Variables
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Bugs Debugging
- PHP - Date & Time
- PHP & MySQL
- PHP & AJAX
- PHP & XML
- PHP - Object Oriented
- PHP - For C Developers
- PHP - For PERL Developers
- PHP Form Examples
- PHP - Form Introduction
- PHP - Validation Example
- PHP - Complete Form
- PHP login Examples
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP AJAX Examples
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML Example
- PHP - XML Introduction
- PHP - Simple XML
- PHP - Simple XML GET
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Frame Works
- PHP - Frame Works
- PHP - Core PHP vs Frame Works
- PHP Design Patterns
- PHP - Design Patterns
- PHP Function Reference
- PHP - Built-In Functions
- PHP Useful Resources
- PHP - Questions & Answers
- PHP - Useful Resources
- PHP - Discussion
PHP array_diff_uassoc() Function
Definition and Usage
The array_diff_uassoc() function compares the keys and values of two (or more) arrays, and returns an array that contains the entries from array1 that are not present in any of the other arrays with the same value.
This function is different from array_diff() because array_diff() compares the values where as this function compares the keys and their values in other arrays.
This function is different from array_diff_assoc() because array_diff_assoc() uses internal algorithm to compare the keys and their values where as this function uses user defined function to compare the keys and their values.
Syntax
array_diff_uassoc ( $array1, $array2 [, $array3..., callback $key_compare_func] );
Parameters
Sr.No | Parameter & Description |
---|---|
1 |
array1(Required) The array to compare from |
2 |
array2(Required) This is an array to be compared with the first array |
3 |
array3(Optional) An array to be compared with the first array |
4 |
key_compare_func(Required) It is a callback function to use to compare the keys. This callback function must return an integer <, =, > than 0 if the first argument is considered to be respectively <, =, > than the second argument. |
Return Values
This function returns an array containing all the entries from array1 but which are not present in any of the other arrays.
PHP Version
This function was first introduced in PHP Version 5.0.0.
Example
Try out following example. Here key comparison function returns 0 if $input1 keys are equal to any other input array, else returns 1 if greater, or -1 if smaller.
While comparing keys using the defined function, we do have keys "a" in both the arrays, so it will not come in the output. Next keys "b" and "c" are not in second array so it will go in output. Further pair 0 => "red" is in the output because in the second argument "red" has key which is 1 −
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $input2 = array("a" => "green", "yellow", "red"); $result = array_diff_uassoc($input1, $input2, "key_compare_func"); print_r($result); ?>
This will produce the following result −
Array ( [b] => brown [c] => blue [0] => red )
Example
Try out following example. This time "red" will not be in the output because now both the keys are equal which is 0.
<?php function key_compare_func($a, $b) { if ($a === $b) { return 0; } return ($a > $b)? 1: -1; } $input1 = array("a" => "green", "b" => "brown", "c" => "blue", "red"); $input2 = array("a" => "green", "c" => "yellow", "red"); $result = array_diff_uassoc($input1, $input2, "key_compare_func"); print_r($result); ?>
This will produce the following result −
Array ( [b] => brown [c] => blue )