diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:39:08 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:39:08 -0400 |
| commit | 993e1866df547532a05ab6db76c9ff5aefc9a3df (patch) | |
| tree | 169d3bde0974235d3cde164786ef6f381a4749a7 /ext/standard/tests/array/array_diff_assoc_variation7.phpt | |
| parent | 1f589a2bd44ba835ad1b009a5d83abd453724829 (diff) | |
| download | php-upstream/5.2.6.tar.gz | |
Imported Upstream version 5.2.6upstream/5.2.6
Diffstat (limited to 'ext/standard/tests/array/array_diff_assoc_variation7.phpt')
| -rw-r--r-- | ext/standard/tests/array/array_diff_assoc_variation7.phpt | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_diff_assoc_variation7.phpt b/ext/standard/tests/array/array_diff_assoc_variation7.phpt new file mode 100644 index 000000000..6fab0aebf --- /dev/null +++ b/ext/standard/tests/array/array_diff_assoc_variation7.phpt @@ -0,0 +1,101 @@ +--TEST-- +Test array_diff_assoc() function : usage variations - arrays containing referenced variables +--FILE-- + +<?php +/* Prototype : array array_diff_assoc(array $arr1, array $arr2 [, array ...]) + * Description: Returns the entries of $arr1 that have values which are not + * present in any of the others arguments but do additional checks whether the keys are equal + * Source code: ext/standard/array.c + */ + +/* + * Tests how array_diff_assoc compares + * 1. Referenced variables + * 2. Arrays that have been referenced to each other + */ + +echo "*** Testing array_diff_assoc() : usage variations ***\n"; + +$a = 'a'; + +$arr1 = array('a', 'b', 'c', $a); +$arr2 = array('a' => 1, 'b' => 2, 'c' => 3, &$a); + +echo "-- Results when \$a = $a: --\n"; +var_dump(array_diff_assoc($arr1, $arr2)); +var_dump(array_diff_assoc($arr2, $arr1)); + +$a = 4; + +echo "-- Results when \$a has been changed to $a: --\n"; +var_dump(array_diff_assoc($arr1, $arr2)); +var_dump(array_diff_assoc($arr2, $arr1)); + +$arr2 = &$arr1; + +echo "-- Results when \$arr2 is referenced to \$arr1 --\n"; +var_dump(array_diff_assoc($arr1, $arr2)); +var_dump(array_diff_assoc($arr2, $arr1)); + +$arr1 = array('zero' => 'x', 'one' => 'y', 'two' => 'z'); + +echo "-- Results when \$arr1 is changed --\n"; +var_dump(array_diff_assoc($arr1, $arr2)); +var_dump(array_diff_assoc($arr2, $arr1)); + +echo "Done"; +?> + +--EXPECTF-- + +*** Testing array_diff_assoc() : usage variations *** +-- Results when $a = a: -- +array(3) { + [1]=> + string(1) "b" + [2]=> + string(1) "c" + [3]=> + string(1) "a" +} +array(3) { + ["a"]=> + int(1) + ["b"]=> + int(2) + ["c"]=> + int(3) +} +-- Results when $a has been changed to 4: -- +array(4) { + [0]=> + string(1) "a" + [1]=> + string(1) "b" + [2]=> + string(1) "c" + [3]=> + string(1) "a" +} +array(4) { + ["a"]=> + int(1) + ["b"]=> + int(2) + ["c"]=> + int(3) + [0]=> + &int(4) +} +-- Results when $arr2 is referenced to $arr1 -- +array(0) { +} +array(0) { +} +-- Results when $arr1 is changed -- +array(0) { +} +array(0) { +} +Done
\ No newline at end of file |
