summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/reset_variation3.phpt
diff options
context:
space:
mode:
authorMark A. Hershberger <mah@debian.(none)>2009-03-25 00:39:08 -0400
committerMark A. Hershberger <mah@debian.(none)>2009-03-25 00:39:08 -0400
commit993e1866df547532a05ab6db76c9ff5aefc9a3df (patch)
tree169d3bde0974235d3cde164786ef6f381a4749a7 /ext/standard/tests/array/reset_variation3.phpt
parent1f589a2bd44ba835ad1b009a5d83abd453724829 (diff)
downloadphp-993e1866df547532a05ab6db76c9ff5aefc9a3df.tar.gz
Imported Upstream version 5.2.6upstream/5.2.6
Diffstat (limited to 'ext/standard/tests/array/reset_variation3.phpt')
-rw-r--r--ext/standard/tests/array/reset_variation3.phpt56
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/standard/tests/array/reset_variation3.phpt b/ext/standard/tests/array/reset_variation3.phpt
new file mode 100644
index 000000000..29f965abe
--- /dev/null
+++ b/ext/standard/tests/array/reset_variation3.phpt
@@ -0,0 +1,56 @@
+--TEST--
+Test reset() function : usage variations - Referenced variables
+--FILE--
+<?php
+/* Prototype : mixed reset(array $array_arg)
+ * Description: Set array argument's internal pointer to the first element and return it
+ * Source code: ext/standard/array.c
+ */
+
+/*
+ * Reference two arrays to each other then call reset() to test position of
+ * internal pointer in both arrays
+ */
+
+echo "*** Testing reset() : usage variations ***\n";
+
+$array1 = array ('zero', 'one', 'two');
+
+echo "\n-- Initial position of internal pointer --\n";
+var_dump(current($array1));
+
+// Test that when two variables are referenced to one another
+// the internal pointer is the same for both
+$array2 = &$array1;
+
+next($array1);
+
+echo "\n-- Position after calling next() --\n";
+echo "\$array1: ";
+var_dump(current($array1));
+echo "\$array2: ";
+var_dump(current($array2));
+
+echo "\n-- Position after calling reset() --\n";
+var_dump(reset($array1));
+echo "\$array1: ";
+var_dump(current($array1));
+echo "\$array2: ";
+var_dump(current($array2));
+?>
+===DONE===
+--EXPECTF--
+*** Testing reset() : usage variations ***
+
+-- Initial position of internal pointer --
+string(4) "zero"
+
+-- Position after calling next() --
+$array1: string(3) "one"
+$array2: string(3) "one"
+
+-- Position after calling reset() --
+string(4) "zero"
+$array1: string(4) "zero"
+$array2: string(4) "zero"
+===DONE===