1--TEST--
2Test array_diff_uassoc() function : usage variation - Passing null,unset and undefined variable indexed array
3--FILE--
4<?php
5/* Prototype  : array array_diff_uassoc(array arr1, array arr2 [, array ...], callback key_comp_func)
6 * Description: Computes the difference of arrays with additional index check which is performed by a
7 * 				user supplied callback function
8 * Source code: ext/standard/array.c
9 */
10
11echo "*** Testing array_diff_uassoc() : usage variation ***\n";
12
13// Initialise function arguments not being substituted (if any)
14$input_array = array(10 => '10', "" => '');
15
16//get an unset variable
17$unset_var = 10;
18unset ($unset_var);
19
20$input_arrays = array(
21      'null indexed' => array(NULL => NULL, null => null),
22      'undefined indexed' => array(@$undefined_var => @$undefined_var),
23      'unset indexed' => array(@$unset_var => @$unset_var),
24);
25
26foreach($input_arrays as $key =>$value) {
27      echo "\n--$key--\n";
28      var_dump( array_diff_uassoc($input_array, $value, "strcasecmp") );
29      var_dump( array_diff_uassoc($value, $input_array, "strcasecmp") );
30}
31
32?>
33===DONE===
34--EXPECTF--
35*** Testing array_diff_uassoc() : usage variation ***
36
37--null indexed--
38array(1) {
39  [10]=>
40  string(2) "10"
41}
42array(0) {
43}
44
45--undefined indexed--
46array(1) {
47  [10]=>
48  string(2) "10"
49}
50array(0) {
51}
52
53--unset indexed--
54array(1) {
55  [10]=>
56  string(2) "10"
57}
58array(0) {
59}
60===DONE===
61