summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/array_rand_variation3.phpt
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/standard/tests/array/array_rand_variation3.phpt
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/standard/tests/array/array_rand_variation3.phpt')
-rw-r--r--ext/standard/tests/array/array_rand_variation3.phpt150
1 files changed, 150 insertions, 0 deletions
diff --git a/ext/standard/tests/array/array_rand_variation3.phpt b/ext/standard/tests/array/array_rand_variation3.phpt
new file mode 100644
index 0000000..81194a1
--- /dev/null
+++ b/ext/standard/tests/array/array_rand_variation3.phpt
@@ -0,0 +1,150 @@
+--TEST--
+Test array_rand() function : usage variation - with MultiDimensional array
+--FILE--
+<?php
+/* Prototype : mixed array_rand(array $input [, int $num_req])
+ * Description: Return key/keys for random entry/entries in the array
+ * Source code: ext/standard/array.c
+*/
+
+/*
+* Test behaviour of array_rand() function when multi-dimensional array
+* is passed to 'input' argument
+*/
+
+echo "*** Testing array_rand() : with multi-dimensional array ***\n";
+
+// initialise the multi-dimensional array
+$input = array(
+ // array with int values
+/*1*/ array(1, 2, 0, -0, -1, -2),
+
+ // array with float values
+ array(1.23, -1.23, 0.34, -0.34, 0e2, 2e-3, -2e2, -40e-2),
+
+ // array with single quoted strings
+/*3*/ array('one', '123numbers', 'hello\tworld', 'hello world\0', '12.34floatnum'),
+
+ // array with double quoted strings
+ array("one","123numbers", "hello\tworld", "hello world\0", "12.34floatnum"),
+
+ // array with bool values
+/*5*/ array(true, TRUE, FALSE, false, TrUe, FaLsE),
+
+ // array with hexa values
+ array(0x123, -0x123, 0xabc, 0xABC, 0xab),
+
+ // array with null values
+/*7*/ array(null, NULL, "\0", Null, NuLl)
+
+);
+
+// initialise 'num_req' variable
+$num_req = 3;
+
+// calling array_rand() function with multi-dimensional array
+var_dump( array_rand($input, $num_req) );
+
+// looping to test array_rand() with each sub-array in the multi-dimensional array
+echo "\n*** Testing array_rand() with arrays having different types of values ***\n";
+$counter = 1;
+foreach($input as $arr) {
+ echo "\n-- Iteration $counter --\n";
+ var_dump( array_rand($arr) ); // with default arguments
+ var_dump( array_rand($arr, 3) ); // with default as well as optional arguments
+ $counter++;
+}
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing array_rand() : with multi-dimensional array ***
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+*** Testing array_rand() with arrays having different types of values ***
+
+-- Iteration 1 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 2 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 3 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 4 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 5 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 6 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+
+-- Iteration 7 --
+int(%d)
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+Done
+