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_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_variation7.phpt')
| -rw-r--r-- | ext/standard/tests/array/array_diff_variation7.phpt | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_diff_variation7.phpt b/ext/standard/tests/array/array_diff_variation7.phpt new file mode 100644 index 000000000..c53cbb3d1 --- /dev/null +++ b/ext/standard/tests/array/array_diff_variation7.phpt @@ -0,0 +1,95 @@ +--TEST-- +Test array_diff() function : usage variations - arrays containing referenced variables +--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 how array_diff compares arrays that + * 1. Contain referenced variables + * 2. Have been referenced to each other + */ + +echo "*** Testing array_diff() : usage variations ***\n"; +$a = 'a'; + +$arr1 = array ("&$a", 'b', 'c'); +$arr2 = array (1, 2, 3); +echo "-- Basic Comparison --\n"; +var_dump(array_diff($arr1, $arr2)); +var_dump(array_diff($arr2, $arr1)); + +$a = 1; + +echo "-- \$a changed --\n"; +var_dump(array_diff($arr1, $arr2)); +var_dump(array_diff($arr2, $arr1)); + + +$arr2 = &$arr1; +echo "-- Arrays referenced to each other --\n"; +var_dump(array_diff($arr1, $arr2)); +var_dump(array_diff($arr2, $arr1)); + + +$arr1 = array('x', 'y', 'z'); +echo "-- \$arr1 changed --\n"; +var_dump(array_diff($arr1, $arr2)); +var_dump(array_diff($arr2, $arr1)); + + +echo "Done"; +?> + +--EXPECTF-- + +*** Testing array_diff() : usage variations *** +-- Basic Comparison -- +array(3) { + [0]=> + string(2) "&a" + [1]=> + string(1) "b" + [2]=> + string(1) "c" +} +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +-- $a changed -- +array(3) { + [0]=> + string(2) "&a" + [1]=> + string(1) "b" + [2]=> + string(1) "c" +} +array(3) { + [0]=> + int(1) + [1]=> + int(2) + [2]=> + int(3) +} +-- Arrays referenced to each other -- +array(0) { +} +array(0) { +} +-- $arr1 changed -- +array(0) { +} +array(0) { +} +Done
\ No newline at end of file |
