php array_rand
时间: 2023-10-30 20:08:00 浏览: 41
php中的array_rand函数是用来从数组中随机取出一个或多个键名的函数。它的语法如下:
```php
mixed array_rand ( array $array [, int $num = 1 ] )
```
其中,$array参数是要从中取出键名的数组,$num参数是要取出的键名数量,默认值为1。
例如,我们有一个数组:
```php
$arr = array('apple', 'banana', 'orange', 'pear', 'grape');
```
我们可以使用array_rand函数从中随机取出一个键名:
```php
$key = array_rand($arr);
echo $arr[$key]; // 输出随机取出的水果名称
```
相关问题
array_rand 二维数组
`array_rand()` 函数可以用于从数组中随机选择一个或多个键。如果你要从二维数组中随机选择一个键,则需要先随机选择一个子数组,然后再从该子数组中随机选择一个键。下面是一个示例代码:
```php
$array = array(
array('a', 'b', 'c'),
array('d', 'e', 'f'),
array('g', 'h', 'i')
);
$random_subarray = $array[array_rand($array)]; // 随机选择一个子数组
$random_key = array_rand($random_subarray); // 从子数组中随机选择一个键
echo $random_subarray[$random_key]; // 输出随机选择的值
```
在上面的示例代码中,我们首先定义了一个二维数组 `$array`。然后,我们使用 `array_rand()` 函数从 `$array` 中随机选择一个子数组,并将其赋值给 `$random_subarray`。接着,我们再次使用 `array_rand()` 函数从 `$random_subarray` 中随机选择一个键,并将其赋值给 `$random_key`。最后,我们输出随机选择的值。
需要注意的是,如果你想从二维数组中随机选择多个键,则可以使用 `array_rand()` 函数的第二个参数来指定要选择的键的数量。例如,如果你要从上面的示例数组中随机选择两个键,则可以使用以下代码:
```php
$random_subarray = $array[array_rand($array)];
$random_keys = array_rand($random_subarray, 2); // 从子数组中随机选择两个键
foreach ($random_keys as $random_key) {
echo $random_subarray[$random_key] . " ";
}
```
在上面的示例代码中,我们使用 `array_rand()` 函数的第二个参数来指定要选择的键的数量为 2。然后,我们使用 `foreach` 循环来遍历 `$random_keys` 数组,并输出随机选择的值。
if (Config::get('random_bg_image')) { $bgKey = array_rand($bg); } return $bg[$bgKey];
这段代码中,首先判断 `Config::get('random_bg_image')` 是否为真,若为真,则从 `$bg` 数组中随机选取一个键名,然后返回对应的值。如果 `Config::get('random_bg_image')` 不为真,则直接返回 `$bg` 数组的第一个元素的值。
假设 `$bg` 数组是这样的:
```php
$bg = [
'bg1' => 'path/to/bg1.jpg',
'bg2' => 'path/to/bg2.jpg',
'bg3' => 'path/to/bg3.jpg',
];
```
如果 `Config::get('random_bg_image')` 为真,则 `$bgKey` 可能是 `'bg1'`、`'bg2'` 或者 `'bg3'` 中的任意一个。如果 `$bgKey` 是 `'bg2'`,则 `return $bg[$bgKey]` 将返回 `'path/to/bg2.jpg'`。如果 `Config::get('random_bg_image')` 不为真,则 `return $bg[$bgKey]` 将返回 `'path/to/bg1.jpg'`。