array_rand
Description
The array_rand of Array for PHP picks one or more random keys out of an array.
Syntax
array_rand(
array $array,
int $num = 1
): int|string|arrayParameters
array
The input array.
num
Specifies how many entries should be picked.
Return
Returns the key for a random entry when picking only one entry. Otherwise, an array of keys for the random entries is returned.
This is done so that random keys can be picked from the array as well as random values. If multiple keys are returned, they will be returned in the order they were present in the original array.
Examples
1 · array
<?
$array =
[
"Peter",
"Andrew",
"James",
"John"
];
$return = array_rand($array);
echo $return;
Array
(
[0] => abcdefghijklmnopqrstuvwxyz
[1] => ABCDEFGHIJKLMNOPQRSTUVWXYZ
[2] => ✓✓✓✓✓✓✓✓✓✓
[3] => !@#$%^&*()
[4] => `-=[]\;,./
[5] => ~_+\{}|:"<>?
[6] => match a digit ✓✓✓✓
)
2 · num
<?
$array =
[
"Peter",
"Andrew",
"James",
"John"
];
$num = 2;
$return = array_rand($array, $num);
print_r($return);
Array
(
[0] => ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
[1] => ✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓✓
[2] => 1234567890
[3] => ✓✓✓✓✓✓✓✓✓✓
[4] => ✓✓✓✓✓✓✓✓✓✓
[5] => ✓✓✓✓✓✓✓✓✓✓✓✓
[6] => ✓✓✓✓✓✓✓✓✓✓✓✓✓✓1776
)
3 · return
<?
$array =
[
"Peter",
"Andrew",
"James",
"John"
];
$num = 2;
$return = array_rand($array, $num);
for($i = 0; $i < $num; ++$i)
{
echo $array[$return[$i]]. PHP_EOL;
}
Andrew John
Links
Array
- array
- array_all
- array_any
- array_change_key_case
- array_chunk
- array_column
- array_combine
- array_count_values
- array_diff
- array_diff_assoc
- array_diff_key
- array_diff_uassoc
- array_diff_ukey
- array_fill
- array_fill_keys
- array_filter
- array_find
- array_find_key
- array_first
- array_flip
- array_intersect
- array_intersect_assoc
- array_intersect_key
- array_intersect_uassoc
- array_intersect_ukey
- array_key_exists
- array_key_first
- array_key_last
- array_keys
- array_last
- array_map
- array_merge
- array_merge_recursive
- array_multisort
- array_pad
- array_pop
- array_product
- array_push
- array_reduce
- array_replace
- array_replace_recursive
- array_reverse
- array_search
- array_shift
- array_slice
- array_splice
- array_sum
- array_udiff
- array_udiff_assoc
- array_udiff_uassoc
- array_uintersect
- array_uintersect_assoc
- array_uintersect_uassoc
- array_unique
- array_unshift
- array_values
- array_walk
- array_walk_recursive
- arsort
- asort
- compact
- count
- current
- end
- extract
- in_array
- key
- key_exists
- krsort
- ksort
- list
- natcasesort
- natsort
- next
- pos
- prev
- range
- reset
- rsort
- shuffle
- sizeof
- sort
- uasort
- uksort
- usort