mirror of
https://github.com/php/php-src.git
synced 2024-10-19 15:34:25 +00:00
a541bb8078
- Update README.PARAMETER_PARSING_API
151 lines
2.6 KiB
PHP
151 lines
2.6 KiB
PHP
--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
|
|
|