12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- --TEST--
- Test array_diff() function : usage variations - array containing duplicate keys and values
- --FILE--
- <?php
- /* Prototype : array array_diff(array $arr1, array $arr2 [, array ...])
- * Description: Returns the entries of $arr1 that have values which are not
- * present in any of the others arguments.
- * Source code: ext/standard/array.c
- */
- /*
- * Test that array_diff behaves as expected for comparing:
- * 1. the order of the array
- * 2. duplicate values
- * 3. duplicate key names
- */
- echo "*** Testing array_diff() : usage variations ***\n";
- $array_index = array('a', 'b', 'c', 0 => 'd', 'b'); //duplicate key (0), duplicate value (b)
- $array_assoc = array ('2' => 'c', //same key=>value pair, different order
- '1' => 'b',
- '0' => 'a',
- 'b' => '3', //key and value from array_index swapped
- 'c' => 2); //same as above, using integer
- var_dump(array_diff($array_index, $array_assoc));
- var_dump(array_diff($array_assoc, $array_index));
- echo "Done";
- ?>
- --EXPECTF--
- *** Testing array_diff() : usage variations ***
- array(1) {
- [0]=>
- string(1) "d"
- }
- array(3) {
- [0]=>
- string(1) "a"
- ["b"]=>
- string(1) "3"
- ["c"]=>
- int(2)
- }
- Done
|