kraghuba Sat May 12 09:53:30 2007 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/array extract.phpt each.phpt
array_map.phpt array_pop.phpt
end.phpt array_keys.phpt
Modified files:
/php-src/ext/standard/tests/array array_key_exists.phpt
array_change_key_case.phpt
array_values.phpt
array_search.phpt 005.phpt
Log:
New version of 005.phpt, array_change_key_case.phpt, array_key_exists.phpt,
array_keys.phpt, array_map.phpt, array_pop.phpt, array_search.phpt,
array_values.phpt, each.phpt, end.phpt, extract.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_key_exists.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u
Index: php-src/ext/standard/tests/array/array_key_exists.phpt
diff -u php-src/ext/standard/tests/array/array_key_exists.phpt:1.1.2.2
php-src/ext/standard/tests/array/array_key_exists.phpt:1.1.2.3
--- php-src/ext/standard/tests/array/array_key_exists.phpt:1.1.2.2 Wed Nov
15 22:44:29 2006
+++ php-src/ext/standard/tests/array/array_key_exists.phpt Sat May 12
09:53:30 2007
@@ -1,24 +1,254 @@
--TEST--
-array_key_exists() tests
+Test array_key_exists() function
--FILE--
<?php
+/* Prototype:
+ * bool array_key_exists ( mixed $key, array $search );
+ * Description:
+ * Returns TRUE if the given key is set in the array.
+ * key can be any value possible for an array index.
+ * Also also works on objects.
+ */
-var_dump(array_key_exists());
-var_dump(array_key_exists(array(), array()));
-var_dump(array_key_exists("", ""));
-var_dump(array_key_exists("", array()));
-var_dump(array_key_exists(1, array()));
-
-var_dump(array_key_exists(1, array(1,2,3)));
-var_dump(array_key_exists("a", array(3,2,1,"a"=>1)));
-var_dump(array_key_exists("a", array(3,2,1)));
-var_dump(array_key_exists(NULL, array(5,6,7,""=>"value", 3,2,1)));
-var_dump(array_key_exists(NULL, array(5,6,7,3,2,1)));
-var_dump(array_key_exists(false, array(5,6,7,""=>"value", 3,2,1)));
+echo "*** Testing basic functionalities ***\n";
+/* Arrays with regular values */
+$search_arrays = array(
+ array(1,2,3,4),
+ array('a','b','c'),
+ array('abc', 'bcd', 'dcf'),
+ array("test", "rest", "enjoy"),
+ array("Name" => "Jack", "Loc" => "Mars", "Id" => "MS123"),
+ array('Red' => 'Rose', 'I' => 'You'),
+ array(0 => 'Zero', 1 => 'One', 2 => 'Two', 3 => "Three" ),
+ array(0.1 => 'Zero', 1.1 => 'One', 2.2 => 'Two', 3.3 => "Three" )
+ );
+/* keys to search in $search_arrays. $keys[0]
+ is the key to be searched in $search_arrays[0] and so on */
+$keys = array( 1, 'a', 2, 4, "Name", "Red", 0, 3 );
+$key_counter = 0;
+foreach ($search_arrays as $search_array) {
+ $key = $keys[ $key_counter++ ];
+ echo "-- Iteration $key_counter --\n";
+ var_dump( array_key_exists($key, $search_array) );
+}
+
+echo "\n*** Testing possible variations ***\n";
+// use different keys on each sub array of $search_arrays
+$key_variations = array ("", NULL, null, " ", '', "test", 1);
+$key_counter = 0;
+$key_count = count ( $key_variations );
+echo "\n** Variation loop 1 **\n";
+$out_loop_count = 0;
+foreach ($search_arrays as $search_array) {
+ $key_counter = 0;
+ $out_loop_count ++; echo "-- Iteration $out_loop_count --\n";
+ while ( $key_counter < $key_count ) {
+ $key = $key_variations[ $key_counter++ ];
+ var_dump( array_key_exists($key, $search_array) );
+ }
+}
+// arrays with variation in elements
+$search_arrays_v = array (
+ array(),
+ array(NULL),
+ array(array(), 1, 2),
+ array(1,2,3, "" => "value", NULL => "value", true =>
"value" ),
+ array( array(2,4,5), array ("a","b","d") )
+ );
+// search for $key_variations in each sub array of $search_arrays_v
+echo "\n** Variation loop 2 **\n";
+$out_loop_count = 0;
+foreach ($search_arrays_v as $search_array) {
+ $key_counter = 0;
+ $out_loop_count ++; echo "-- Iteration $out_loop_count --\n";
+ while ( $key_counter < $key_count ) {
+ $key = $key_variations[ $key_counter++ ];
+ var_dump( array_key_exists($key, $search_array) );
+ }
+}
+
+echo "\n*** Testing error conditions ***\n";
+//Zeor args
+var_dump( array_key_exists() );
+// first args as array
+var_dump( array_key_exists(array(), array()) );
+// second args as string
+var_dump( array_key_exists("", "") );
+// second args a integer
+var_dump( array_key_exists(1, 1) );
+// second args as NULL
+var_dump( array_key_exists(1, NULL) );
+// second args as boolean
+var_dump( array_key_exists(1, true) );
+// first args as boolean
+var_dump( array_key_exists(false, true) );
+// second args as float
+var_dump( array_key_exists(false, 17.5) );
+// args more than expected
+var_dump( array_key_exists(1, array(), array()) );
+// first argument as floating point value
+var_dump( array_key_exists(17.5, array(1,23) ) ) ;
+
+echo "\n*** Testing operation on objects ***\n";
+class key_check
+{
+ private $private_var = "Priviate var";
+ protected $protected_var = "Protected var";
+ public $public_var = "Public var";
+ public $arr = array("var" => "value", "1" => "one", ""=>"value");
+ public function print_member()
+ {
+ echo $this->$private_var."\n";
+ echo $this->$protected_var."\n";
+ echo $this->$public_var."\n";
+ }
+}
+
+$key_check_obj = new key_check; //new object
+/* array_key_exists() on an object, it should work on only public member
variables */
+var_dump(array_key_exists("private_var", $key_check_obj)); // not found,
private member
+var_dump(array_key_exists("protected_var", $key_check_obj)); // not found,
private member
+var_dump(array_key_exists("public_var", $key_check_obj)); // found, public
member
+var_dump(array_key_exists("print_member", $key_check_obj)); // not found, its
a function
+var_dump(array_key_exists("arr", $key_check_obj)); //found, public member
+var_dump(array_key_exists("var", $key_check_obj->arr)); //found, key is in
member array
+
+/* error condition, first arguemnt as object */
+var_dump( array_key_exists($key_check_obj, $key_check_obj) );
echo "Done\n";
?>
--EXPECTF--
+*** Testing basic functionalities ***
+-- Iteration 1 --
+bool(true)
+-- Iteration 2 --
+bool(false)
+-- Iteration 3 --
+bool(true)
+-- Iteration 4 --
+bool(false)
+-- Iteration 5 --
+bool(true)
+-- Iteration 6 --
+bool(true)
+-- Iteration 7 --
+bool(true)
+-- Iteration 8 --
+bool(true)
+
+*** Testing possible variations ***
+
+** Variation loop 1 **
+-- Iteration 1 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 2 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 3 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 4 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 5 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 6 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 7 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 8 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+
+** Variation loop 2 **
+-- Iteration 1 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 2 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 3 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+-- Iteration 4 --
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 5 --
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+
+*** Testing error conditions ***
+
Warning: Wrong parameter count for array_key_exists() in %s on line %d
NULL
@@ -27,13 +257,35 @@
Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
+bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
+bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
+bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or
an object in %s on line %d
+bool(false)
+
+Warning: Wrong parameter count for array_key_exists() in %s on line %d
+NULL
+
+Warning: array_key_exists(): The first argument should be either a string or
an integer in %s on line %d
+bool(false)
+
+*** Testing operation on objects ***
bool(false)
-bool(true)
-bool(true)
bool(false)
bool(true)
bool(false)
+bool(true)
+bool(true)
Warning: array_key_exists(): The first argument should be either a string or
an integer in %s on line %d
bool(false)
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_change_key_case.phpt?r1=1.2&r2=1.2.6.1&diff_format=u
Index: php-src/ext/standard/tests/array/array_change_key_case.phpt
diff -u php-src/ext/standard/tests/array/array_change_key_case.phpt:1.2
php-src/ext/standard/tests/array/array_change_key_case.phpt:1.2.6.1
--- php-src/ext/standard/tests/array/array_change_key_case.phpt:1.2 Sat Nov
16 17:26:52 2002
+++ php-src/ext/standard/tests/array/array_change_key_case.phpt Sat May 12
09:53:30 2007
@@ -1,56 +1,92 @@
--TEST--
-array_change_key_case()
+Test array_change_key_case() function
--FILE--
<?php
+/* Prototype: array array_change_key_case ( array $input [, int $case] )
+ Description: Changes the keys in the input array to be all lowercase
+ or uppercase. The change depends on the last optional case parameter.
+ You can pass two constants there, CASE_UPPER and CASE_LOWER(default).
+ The function will leave number indices as is.
+*/
$arrays = array (
- array (),
- array (0),
- array (1),
- array (-1),
- array (0, 2, 3, 4, 5),
- array (1, 2, 3, 4, 5),
- array ("" => 1),
- array ("a" => 1),
- array ("Z" => 1),
- array ("one" => 1),
- array ("ONE" => 1),
- array ("OnE" => 1),
- array ("oNe" => 1),
- array ("one" => 1, "two" => 2),
- array ("ONE" => 1, "two" => 2),
- array ("OnE" => 1, "two" => 2),
- array ("oNe" => 1, "two" => 2),
- array ("one" => 1, "TWO" => 2),
- array ("ONE" => 1, "TWO" => 2),
- array ("OnE" => 1, "TWO" => 2),
- array ("oNe" => 1, "TWO" => 2),
- array ("one" => 1, "TwO" => 2),
- array ("ONE" => 1, "TwO" => 2),
- array ("OnE" => 1, "TwO" => 2),
- array ("oNe" => 1, "TwO" => 2),
- array ("one" => 1, "tWo" => 2),
- array ("ONE" => 1, "tWo" => 2),
- array ("OnE" => 1, "tWo" => 2),
- array ("oNe" => 1, "tWo" => 2),
- array ("one" => 1, 2),
- array ("ONE" => 1, 2),
- array ("OnE" => 1, 2),
- array ("oNe" => 1, 2),
- array ("ONE" => 1, "TWO" => 2, "THREE" => 3, "FOUR" => "four"),
- array ("one" => 1, "two" => 2, "three" => 3, "four" => "FOUR"),
- array ("ONE" => 1, "TWO" => 2, "three" => 3, "four" => "FOUR"),
- array ("one" => 1, "two" => 2, "THREE" => 3, "FOUR" => "four")
+ array (),
+ array (0),
+ array (1),
+ array (-1),
+ array (0, 2, 3, 4, 5),
+ array (1, 2, 3, 4, 5),
+ array ("" => 1),
+ array ("a" => 1),
+ array ("Z" => 1),
+ array ("one" => 1),
+ array ("ONE" => 1),
+ array ("OnE" => 1),
+ array ("oNe" => 1),
+ array ("one" => 1, "two" => 2),
+ array ("ONE" => 1, "two" => 2),
+ array ("OnE" => 1, "two" => 2),
+ array ("oNe" => 1, "two" => 2),
+ array ("one" => 1, "TWO" => 2),
+ array ("ONE" => 1, "TWO" => 2),
+ array ("OnE" => 1, "TWO" => 2),
+ array ("oNe" => 1, "TWO" => 2),
+ array ("one" => 1, "TwO" => 2),
+ array ("ONE" => 1, "TwO" => 2),
+ array ("OnE" => 1, "TwO" => 2),
+ array ("oNe" => 1, "TwO" => 2),
+ array ("one" => 1, "tWo" => 2),
+ array ("ONE" => 1, "tWo" => 2),
+ array ("OnE" => 1, "tWo" => 2),
+ array ("oNe" => 1, "tWo" => 2),
+ array ("one" => 1, 2),
+ array ("ONE" => 1, 2),
+ array ("OnE" => 1, 2),
+ array ("oNe" => 1, 2),
+ array ("ONE" => 1, "TWO" => 2, "THREE" => 3, "FOUR" => "four"),
+ array ("one" => 1, "two" => 2, "three" => 3, "four" => "FOUR"),
+ array ("ONE" => 1, "TWO" => 2, "three" => 3, "four" => "FOUR"),
+ array ("one" => 1, "two" => 2, "THREE" => 3, "FOUR" => "four")
);
+echo "*** Testing basic operations ***\n";
+$loop_counter = 1;
foreach ($arrays as $item) {
+ echo "** Iteration $loop_counter **\n"; $loop_counter++;
var_dump(array_change_key_case($item));
var_dump(array_change_key_case($item, CASE_UPPER));
var_dump(array_change_key_case($item, CASE_LOWER));
echo "\n";
}
+
+echo "\n*** Testing possible variations ***\n";
+$int_var = -19;
+$item = array ("one" => 1, "two" => 2, "THREE" => 3, "FOUR" => "four");
+
+/* use 'case' argument other than CASE_LOWER & CASE_UPPER */
+var_dump(array_change_key_case($item, "CASE_UPPER"));
+var_dump(array_change_key_case($item, 5));
+
+/* when keys are different in terms of only case */
+/* should return one value key pair with key being in lowercase */
+var_dump( array_change_key_case( array("ONE" => 1, "one" => 3, "One" => 4) )
);
+var_dump( array_change_key_case( array("ONE" => 1, "one" => 6, "One" => 5),
"CASE_UPPER" ) );
+
+/* should return one value key pair with key being in uppercase */
+var_dump( array_change_key_case( array("ONE" => 1, "one" => 2, "One" => 3),
CASE_UPPER ) );
+var_dump( array_change_key_case( array("ONE" => 1, "one" => 1, "One" => 2), 5
) );
+
+echo "\n*** Testing error conditions ***\n";
+/* generate different failure conditions */
+var_dump( array_change_key_case($int_var) ); // args less than expected
+var_dump( array_change_key_case($int_var, CASE_UPPER) ); // invalid first
argument
+var_dump( array_change_key_case() ); // Zero argument
+var_dump( array_change_key_case($item, $item["one"], "CASE_UPPER") ); // more
than expected numbers
+
echo "end\n";
?>
---EXPECT--
+--EXPECTF--
+*** Testing basic operations ***
+** Iteration 1 **
array(0) {
}
array(0) {
@@ -58,6 +94,7 @@
array(0) {
}
+** Iteration 2 **
array(1) {
[0]=>
int(0)
@@ -71,6 +108,7 @@
int(0)
}
+** Iteration 3 **
array(1) {
[0]=>
int(1)
@@ -84,6 +122,7 @@
int(1)
}
+** Iteration 4 **
array(1) {
[0]=>
int(-1)
@@ -97,6 +136,7 @@
int(-1)
}
+** Iteration 5 **
array(5) {
[0]=>
int(0)
@@ -134,6 +174,7 @@
int(5)
}
+** Iteration 6 **
array(5) {
[0]=>
int(1)
@@ -171,6 +212,7 @@
int(5)
}
+** Iteration 7 **
array(1) {
[""]=>
int(1)
@@ -184,6 +226,7 @@
int(1)
}
+** Iteration 8 **
array(1) {
["a"]=>
int(1)
@@ -197,6 +240,7 @@
int(1)
}
+** Iteration 9 **
array(1) {
["z"]=>
int(1)
@@ -210,6 +254,7 @@
int(1)
}
+** Iteration 10 **
array(1) {
["one"]=>
int(1)
@@ -223,6 +268,7 @@
int(1)
}
+** Iteration 11 **
array(1) {
["one"]=>
int(1)
@@ -236,6 +282,7 @@
int(1)
}
+** Iteration 12 **
array(1) {
["one"]=>
int(1)
@@ -249,6 +296,7 @@
int(1)
}
+** Iteration 13 **
array(1) {
["one"]=>
int(1)
@@ -262,6 +310,7 @@
int(1)
}
+** Iteration 14 **
array(2) {
["one"]=>
int(1)
@@ -281,6 +330,7 @@
int(2)
}
+** Iteration 15 **
array(2) {
["one"]=>
int(1)
@@ -300,6 +350,7 @@
int(2)
}
+** Iteration 16 **
array(2) {
["one"]=>
int(1)
@@ -319,6 +370,7 @@
int(2)
}
+** Iteration 17 **
array(2) {
["one"]=>
int(1)
@@ -338,6 +390,7 @@
int(2)
}
+** Iteration 18 **
array(2) {
["one"]=>
int(1)
@@ -357,6 +410,7 @@
int(2)
}
+** Iteration 19 **
array(2) {
["one"]=>
int(1)
@@ -376,6 +430,7 @@
int(2)
}
+** Iteration 20 **
array(2) {
["one"]=>
int(1)
@@ -395,6 +450,7 @@
int(2)
}
+** Iteration 21 **
array(2) {
["one"]=>
int(1)
@@ -414,6 +470,7 @@
int(2)
}
+** Iteration 22 **
array(2) {
["one"]=>
int(1)
@@ -433,6 +490,7 @@
int(2)
}
+** Iteration 23 **
array(2) {
["one"]=>
int(1)
@@ -452,6 +510,7 @@
int(2)
}
+** Iteration 24 **
array(2) {
["one"]=>
int(1)
@@ -471,6 +530,7 @@
int(2)
}
+** Iteration 25 **
array(2) {
["one"]=>
int(1)
@@ -490,6 +550,7 @@
int(2)
}
+** Iteration 26 **
array(2) {
["one"]=>
int(1)
@@ -509,6 +570,7 @@
int(2)
}
+** Iteration 27 **
array(2) {
["one"]=>
int(1)
@@ -528,6 +590,7 @@
int(2)
}
+** Iteration 28 **
array(2) {
["one"]=>
int(1)
@@ -547,6 +610,7 @@
int(2)
}
+** Iteration 29 **
array(2) {
["one"]=>
int(1)
@@ -566,6 +630,7 @@
int(2)
}
+** Iteration 30 **
array(2) {
["one"]=>
int(1)
@@ -585,6 +650,7 @@
int(2)
}
+** Iteration 31 **
array(2) {
["one"]=>
int(1)
@@ -604,6 +670,7 @@
int(2)
}
+** Iteration 32 **
array(2) {
["one"]=>
int(1)
@@ -623,6 +690,7 @@
int(2)
}
+** Iteration 33 **
array(2) {
["one"]=>
int(1)
@@ -642,6 +710,7 @@
int(2)
}
+** Iteration 34 **
array(4) {
["one"]=>
int(1)
@@ -673,6 +742,7 @@
string(4) "four"
}
+** Iteration 35 **
array(4) {
["one"]=>
int(1)
@@ -704,6 +774,7 @@
string(4) "FOUR"
}
+** Iteration 36 **
array(4) {
["one"]=>
int(1)
@@ -735,6 +806,7 @@
string(4) "FOUR"
}
+** Iteration 37 **
array(4) {
["one"]=>
int(1)
@@ -766,4 +838,56 @@
string(4) "four"
}
+
+*** Testing possible variations ***
+array(4) {
+ ["one"]=>
+ int(1)
+ ["two"]=>
+ int(2)
+ ["three"]=>
+ int(3)
+ ["four"]=>
+ string(4) "four"
+}
+array(4) {
+ ["ONE"]=>
+ int(1)
+ ["TWO"]=>
+ int(2)
+ ["THREE"]=>
+ int(3)
+ ["FOUR"]=>
+ string(4) "four"
+}
+array(1) {
+ ["one"]=>
+ int(4)
+}
+array(1) {
+ ["one"]=>
+ int(5)
+}
+array(1) {
+ ["ONE"]=>
+ int(3)
+}
+array(1) {
+ ["ONE"]=>
+ int(2)
+}
+
+*** Testing error conditions ***
+
+Warning: array_change_key_case(): The argument should be an array in %s on
line %d
+bool(false)
+
+Warning: array_change_key_case(): The argument should be an array in %s on
line %d
+bool(false)
+
+Warning: Wrong parameter count for array_change_key_case() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for array_change_key_case() in %s on line %d
+NULL
end
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_values.phpt?r1=1.1.2.2&r2=1.1.2.3&diff_format=u
Index: php-src/ext/standard/tests/array/array_values.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_search.phpt?r1=1.4&r2=1.4.6.1&diff_format=u
Index: php-src/ext/standard/tests/array/array_search.phpt
diff -u php-src/ext/standard/tests/array/array_search.phpt:1.4
php-src/ext/standard/tests/array/array_search.phpt:1.4.6.1
--- php-src/ext/standard/tests/array/array_search.phpt:1.4 Mon Aug 18
22:57:49 2003
+++ php-src/ext/standard/tests/array/array_search.phpt Sat May 12 09:53:30 2007
@@ -1,7 +1,13 @@
--TEST--
-search_array and in_array (including bug 13567)
+Test array_search() and in_array() functions (including bug 13567)
--FILE--
<?php
+/* Prototype: bool in_array ( mixed $needle, array $haystack [, bool $strict]
);
+ Description: Checks if a value exists in an array
+ Searches haystack for needle and returns TRUE if found in
array, FALSE otherwise.
+ If the third parameter strict is set to TRUE then the
in_array() function
+ will also check the types of the needle in the haystack.
+*/
$arr1 = array('a','b','c');
$arr2 = array();
@@ -9,6 +15,7 @@
$arr4 = array("a\0b"=>'e','key'=>'d', 'f');
$tests = <<<TESTS
+FALSE === in_array(123, \$arr2)
FALSE === in_array(123, \$arr1)
FALSE === array_search(123, \$arr1)
TRUE === in_array('a', \$arr1)
@@ -19,5 +26,862 @@
include(dirname(__FILE__) . '/../../../../tests/quicktester.inc');
---EXPECT--
+/* checking for STRICT option in in_array() */
+echo "\n*** Testing STRICT option of in_array() on arrays ***\n";
+$arrays = array (
+ array(0),
+ array("a" => "A", 2 => "B", "C" => 3, 4 => 4, "one" => 1, "" => NULL, "b",
"ab", "abcd"),
+ array(4, array(1, 2 => 3), "one" => 1, "5" => 5 ),
+ array(-1, -2, -3, -4, -2.989888, "-0.005" => "neg0.005", 2.0 => "float2",
"-.9" => -.9),
+ array(TRUE, FALSE),
+ array("", array()),
+ array("abcd\x00abcd\x00abcd"),
+ array("abcd\tabcd\nabcd\rabcd\0abcdefghij")
+);
+
+$array_compare = array (
+ 4,
+ "4",
+ 4.00,
+ "b",
+ "5",
+ -2,
+ -2.0,
+ -2.98989,
+ "-.9",
+ "True",
+ "",
+ array(),
+ NULL,
+ "ab",
+ "abcd",
+ 0.0,
+ -0,
+ "abcd\x00abcd\x00abcd"
+);
+/* loop to check if elements in $array_compare exist in $arrays
+ using in_array() */
+$counter = 1;
+foreach($arrays as $array) {
+ foreach($array_compare as $compare) {
+ echo "-- Iteration $counter --\n";
+ //strict option OFF
+ var_dump(in_array($compare,$array));
+ //strict option ON
+ var_dump(in_array($compare,$array,TRUE));
+ //strict option OFF
+ var_dump(in_array($compare,$array,FALSE));
+ $counter++;
+ }
+}
+
+/* checking loose and strict TYPE comparisons in in_array() */
+echo "\n*** Testing loose and strict TYPE comparison of in_array() ***\n";
+$misc_array = array (
+ 'a',
+ 'key' =>'d',
+ 3,
+ ".001" =>-67,
+ "-.051" =>"k",
+ 0.091 =>"-.08",
+ "e" =>"5",
+ "y" =>NULL,
+ NULL =>"",
+ 0,
+ TRUE,
+ FALSE,
+ -27.39999999999,
+ " ",
+ "abcd\x00abcd\x00\abcd\x00abcdefghij",
+ "abcd\nabcd\tabcd\rabcd\0abcd"
+);
+$array_type = array(TRUE, FALSE, 1, 0, -1, "1", "0", "-1", NULL, array(),
"PHP", "");
+/* loop to do loose and strict type check of elements in
+ $array_type on elements in $misc_array using in_array();
+ checking PHP type comparison tables
+*/
+$counter = 1;
+foreach($array_type as $type) {
+ echo "-- Iteration $counter --\n";
+ //loose type checking
+ var_dump( in_array($type,$misc_array ) );
+ //strict type checking
+ var_dump( in_array($type,$misc_array,true) );
+ //loose type checking
+ var_dump( in_array($type,$misc_array,false) );
+ $counter++;
+}
+
+/* checking for sub-arrays with in_array() */
+echo "\n*** Testing sub-arrays with in_array() ***\n";
+$sub_array = array (
+ "one",
+ array(1, 2 => "two", "three" => 3),
+ 4 => "four",
+ "five" => 5,
+ array('', 'i')
+);
+var_dump( in_array("four", $sub_array) );
+//checking for element in a sub-array
+var_dump( in_array(3, $sub_array[1]) );
+var_dump( in_array(array('','i'), $sub_array) );
+
+/* checking for objects in in_array() */
+echo "\n*** Testing objects with in_array() ***\n";
+class in_array_check {
+ public $array_var = array(1=>"one", "two"=>2, 3=>3);
+ public function foo() {
+ echo "Public function\n";
+ }
+}
+
+$in_array_obj = new in_array_check(); //creating new object
+//error: as wrong datatype for second argument
+var_dump( in_array("array_var", $in_array_obj) );
+//error: as wrong datatype for second argument
+var_dump( in_array("foo", $in_array_obj) );
+//element found as "one" exists in array $array_var
+var_dump( in_array("one", $in_array_obj->array_var) );
+
+/* checking for Resources */
+echo "\n*** Testing resource type with in_array() ***\n";
+//file type resource
+$file_handle = fopen(__FILE__, "r");
+
+//directory type resource
+$dir_handle = opendir( dirname(__FILE__) );
+
+//store resources in array for comparision.
+$resources = array($file_handle, $dir_handle);
+
+// search for resouce type in the resource array
+var_dump( in_array($file_handle, $resources, true) );
+//checking for (int) type resource
+var_dump( in_array((int)$dir_handle, $resources, true) );
+
+/* Miscellenous input check */
+echo "\n*** Testing miscelleneos inputs with in_array() ***\n";
+//matching "Good" in array(0,"hello"), result:true in loose type check
+var_dump( in_array("Good", array(0,"hello")) );
+//false in strict mode
+var_dump( in_array("Good", array(0,"hello"), TRUE) );
+
+//matching integer 0 in array("this"), result:true in loose type check
+var_dump( in_array(0, array("this")) );
+// false in strict mode
+var_dump( in_array(0, array("this")),TRUE );
+
+//matching string "this" in array(0), result:true in loose type check
+var_dump( in_array("this", array(0)) );
+// false in stric mode
+var_dump( in_array("this", array(0), TRUE) );
+
+//checking for type FALSE in multidimensional array with loose checking,
result:false in loose type check
+var_dump( in_array(FALSE,
+ array("a"=> TRUE, "b"=> TRUE,
+ array("c"=> TRUE, "d"=>TRUE)
+ )
+ )
+ );
+
+//matching string having integer in beginning, result:true in loose type check
+var_dump( in_array('123abc', array(123)) );
+var_dump( in_array('123abc', array(123), TRUE) ); // false in strict mode
+
+echo "\n*** Testing error conditions of in_array() ***\n";
+/* zero argument */
+var_dump( in_array() );
+
+/* unexpected no.of arguments in in_array() */
+$var = array("mon", "tues", "wed", "thurs");
+var_dump( in_array(1, $var, 0, "test") );
+var_dump( in_array("test") );
+
+/* unexpected second argument in in_array() */
+$var="test";
+var_dump( in_array("test", $var) );
+var_dump( in_array(1, 123) );
+
+/* closing resource handles */
+fclose($file_handle);
+closedir($dir_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
OK
+*** Testing STRICT option of in_array() on arrays ***
+-- Iteration 1 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 2 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 3 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 4 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 5 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 6 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 7 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 8 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 9 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 10 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 11 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 12 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 13 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 14 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 15 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 16 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 17 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 18 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 19 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 20 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 21 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 22 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 23 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 24 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 25 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 26 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 27 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 28 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 29 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 30 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 31 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 32 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 33 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 34 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 35 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 36 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 37 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 38 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 39 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 40 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 41 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 42 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 43 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 44 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 45 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 46 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 47 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 48 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 49 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 50 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 51 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 52 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 53 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 54 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 55 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 56 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 57 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 58 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 59 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 60 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 61 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 62 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 63 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 64 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 65 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 66 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 67 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 68 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 69 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 70 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 71 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 72 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 73 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 74 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 75 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 76 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 77 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 78 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 79 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 80 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 81 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 82 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 83 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 84 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 85 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 86 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 87 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 88 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 89 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 90 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 91 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 92 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 93 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 94 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 95 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 96 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 97 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 98 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 99 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 100 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 101 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 102 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 103 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 104 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 105 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 106 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 107 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 108 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 109 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 110 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 111 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 112 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 113 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 114 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 115 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 116 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 117 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 118 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 119 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 120 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 121 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 122 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 123 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 124 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 125 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 126 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 127 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 128 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 129 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 130 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 131 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 132 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 133 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 134 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 135 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 136 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 137 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 138 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 139 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 140 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 141 --
+bool(false)
+bool(false)
+bool(false)
+-- Iteration 142 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 143 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 144 --
+bool(false)
+bool(false)
+bool(false)
+
+*** Testing loose and strict TYPE comparison of in_array() ***
+-- Iteration 1 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 2 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 3 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 4 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 5 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 6 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 7 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 8 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 9 --
+bool(true)
+bool(true)
+bool(true)
+-- Iteration 10 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 11 --
+bool(true)
+bool(false)
+bool(true)
+-- Iteration 12 --
+bool(true)
+bool(true)
+bool(true)
+
+*** Testing sub-arrays with in_array() ***
+bool(true)
+bool(true)
+bool(true)
+
+*** Testing objects with in_array() ***
+
+Warning: in_array(): Wrong datatype for second argument in %s on line %d
+bool(false)
+
+Warning: in_array(): Wrong datatype for second argument in %s on line %d
+bool(false)
+bool(true)
+
+*** Testing resource type with in_array() ***
+bool(true)
+bool(false)
+
+*** Testing miscelleneos inputs with in_array() ***
+bool(true)
+bool(false)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(false)
+bool(false)
+bool(true)
+bool(false)
+
+*** Testing error conditions of in_array() ***
+
+Warning: Wrong parameter count for in_array() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for in_array() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for in_array() in %s on line %d
+NULL
+
+Warning: in_array(): Wrong datatype for second argument in %s on line %d
+bool(false)
+
+Warning: in_array(): Wrong datatype for second argument in %s on line %d
+bool(false)
+Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/005.phpt?r1=1.2&r2=1.2.6.1&diff_format=u
Index: php-src/ext/standard/tests/array/005.phpt
diff -u php-src/ext/standard/tests/array/005.phpt:1.2
php-src/ext/standard/tests/array/005.phpt:1.2.6.1
--- php-src/ext/standard/tests/array/005.phpt:1.2 Sat Nov 16 17:26:52 2002
+++ php-src/ext/standard/tests/array/005.phpt Sat May 12 09:53:30 2007
@@ -1,46 +1,291 @@
--TEST--
-Test array_shift behaviour
+Test array_shift() function
--FILE--
<?php
+/* Prototype: mixed array_shift( array &array );
+ * Description: Shifts the first value of the array off and returns it.
+ */
array_shift($GLOBALS);
-$a = array("foo", "bar", "fubar");
-$b = array("3" => "foo", "4" => "bar", "5" => "fubar");
-$c = array("a" => "foo", "b" => "bar", "c" => "fubar");
-
-/* simple array */
-echo array_shift($a), "\n";
-var_dump($a);
-
-/* numerical assoc indices */
-echo array_shift($b), "\n";
-var_dump($b);
-
-/* assoc indices */
-echo array_shift($c), "\n";
-var_dump($c);
+$empty_array = array();
+$number = 5;
+$str = "abc";
+
+/* Various combinations of arrays to be used for the test */
+$mixed_array = array(
+ array(),
+ array( 1,2,3,4,5,6,7,8,9 ),
+ array( "One", "_Two", "Three", "Four", "Five" ),
+ array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ),
+ array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee"
),
+ array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" =>
"five" ),
+ array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ),
+ array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float",
"F" => "FFF",
+ "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five", "4name"
=> "jonny", "a" => NULL, NULL => 3 ),
+ array( 12, "name", 'age', '45' ),
+ array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ),
+ array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6,
+ 5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557
)
+);
+
+/* Testing Error Conditions */
+echo "\n*** Testing Error Conditions ***\n";
+
+/* Zero argument */
+var_dump( array_shift() );
+
+/* Scalar argument */
+var_dump( array_shift($number) );
+
+/* String argument */
+var_dump( array_shift($str) );
+
+/* Invalid Number of arguments */
+var_dump( array_shift($mixed_array[1],$mixed_array[2]) );
+
+/* Empty Array as argument */
+var_dump( array_shift($empty_array) );
+
+/* Loop to test normal functionality with different arrays inputs */
+echo "\n*** Testing with various array inputs ***\n";
+
+$counter = 1;
+foreach( $mixed_array as $sub_array ) {
+ echo "\n-- Input Array for Iteration $counter is -- \n";
+ print_r( $sub_array );
+ echo "\nOutput after shift is :\n";
+ var_dump( array_shift($sub_array) );
+ $counter++;
+}
+
+/*Checking for internal array pointer beint reset when shift is called */
+
+echo"\n*** Checking for internal array pointer being reset when shift is
called ***\n";
+
+echo "\nCurrent Element is : ";
+var_dump( current($mixed_array[1]) );
+
+echo "\nNext Element is : ";
+var_dump( next($mixed_array[1]) );
+
+echo "\nNext Element is : ";
+var_dump( next($mixed_array[1]) );
+
+echo "\nshifted Element is : ";
+var_dump( array_shift($mixed_array[1]) );
+
+echo "\nCurrent Element after shift operation is: ";
+var_dump( current($mixed_array[1]) );
+
+echo"Done";
?>
---EXPECT--
-foo
-array(2) {
- [0]=>
- string(3) "bar"
- [1]=>
- string(5) "fubar"
-}
-foo
-array(2) {
+--EXPECTF--
+*** Testing Error Conditions ***
+
+Warning: Wrong parameter count for array_shift() in %s line %d
+NULL
+
+Warning: array_shift(): The argument should be an array in %s on line %d
+NULL
+
+Warning: array_shift(): The argument should be an array in %s on line %d
+NULL
+
+Warning: Wrong parameter count for array_shift() in %s on line %d
+NULL
+NULL
+
+*** Testing with various array inputs ***
+
+-- Input Array for Iteration 1 is --
+Array
+(
+)
+
+Output after shift is :
+NULL
+
+-- Input Array for Iteration 2 is --
+Array
+(
+ [0] => 1
+ [1] => 2
+ [2] => 3
+ [3] => 4
+ [4] => 5
+ [5] => 6
+ [6] => 7
+ [7] => 8
+ [8] => 9
+)
+
+Output after shift is :
+int(1)
+
+-- Input Array for Iteration 3 is --
+Array
+(
+ [0] => One
+ [1] => _Two
+ [2] => Three
+ [3] => Four
+ [4] => Five
+)
+
+Output after shift is :
+string(3) "One"
+
+-- Input Array for Iteration 4 is --
+Array
+(
+ [0] => 6
+ [1] => six
+ [2] => 7
+ [3] => seven
+ [4] => 8
+ [5] => eight
+ [6] => 9
+ [7] => nine
+)
+
+Output after shift is :
+int(6)
+
+-- Input Array for Iteration 5 is --
+Array
+(
+ [a] => aaa
+ [A] => AAA
+ [c] => ccc
+ [d] => ddd
+ [e] => eee
+)
+
+Output after shift is :
+string(3) "aaa"
+
+-- Input Array for Iteration 6 is --
+Array
+(
+ [1] => one
+ [2] => two
+ [3] => three
+ [4] => four
+ [5] => five
+)
+
+Output after shift is :
+string(3) "one"
+
+-- Input Array for Iteration 7 is --
+Array
+(
+ [1] => one
+ [2] => two
+ [3] => 7
+ [4] => four
+ [5] => five
+)
+
+Output after shift is :
+string(3) "one"
+
+-- Input Array for Iteration 8 is --
+Array
+(
+ [f] => fff
+ [1] => one
+ [4] => 6
+ [] => 3
+ [2] => float
+ [F] => FFF
+ [blank] =>
+ [3] => 3.7
+ [5] => Five
+ [6] => 8.6
+ [4name] => jonny
+ [a] =>
+)
+
+Output after shift is :
+string(3) "fff"
+
+-- Input Array for Iteration 9 is --
+Array
+(
+ [0] => 12
+ [1] => name
+ [2] => age
+ [3] => 45
+)
+
+Output after shift is :
+int(12)
+
+-- Input Array for Iteration 10 is --
+Array
+(
+ [0] => Array
+ (
+ [0] => oNe
+ [1] => tWo
+ [2] => 4
+ )
+
+ [1] => Array
+ (
+ [0] => 10
+ [1] => 20
+ [2] => 30
+ [3] => 40
+ [4] => 50
+ )
+
+ [2] => Array
+ (
+ )
+
+)
+
+Output after shift is :
+array(3) {
[0]=>
- string(3) "bar"
+ string(3) "oNe"
[1]=>
- string(5) "fubar"
-}
-foo
-array(2) {
- ["b"]=>
- string(3) "bar"
- ["c"]=>
- string(5) "fubar"
+ string(3) "tWo"
+ [2]=>
+ int(4)
}
+
+-- Input Array for Iteration 11 is --
+Array
+(
+ [one] => 2
+ [three] => 3
+ [0] => 3
+ [1] => 4
+ [3] => 33
+ [4] => 44
+ [5] => 57
+ [6] => 6
+ [5.4] => 554
+ [5.7] => 557
+)
+
+Output after shift is :
+int(2)
+
+*** Checking for internal array pointer being reset when shift is called ***
+
+Current Element is : int(1)
+
+Next Element is : int(2)
+
+Next Element is : int(3)
+
+shifted Element is : int(1)
+
+Current Element after shift operation is: int(2)
+Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/extract.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/extract.phpt
+++ php-src/ext/standard/tests/array/extract.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/each.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/each.phpt
+++ php-src/ext/standard/tests/array/each.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_map.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/array_map.phpt
+++ php-src/ext/standard/tests/array/array_map.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_pop.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/array_pop.phpt
+++ php-src/ext/standard/tests/array/array_pop.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/end.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/end.phpt
+++ php-src/ext/standard/tests/array/end.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/array_keys.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/array_keys.phpt
+++ php-src/ext/standard/tests/array/array_keys.phpt
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php