array_rand 真是个烂函数

本文探讨了PHP中rand及array_rand函数的问题,特别是当试图从空数组中抽取元素时的异常行为,强调了语言特性和类型检查的重要性。

今天使用了下php的rand,首先要suck下php的伪随机函数,这是一个我没法用的函数,当然你可以觉得很方便,但问题是无法特别随机。

接下来说说array_rand,这个函数是从数组里随机拿出n个单元,看起来很容易却因为php的可变类型突然变得奇怪:

$a=array();
array_rand($source,1);

这样写没有问题吧,问题却来了,$a不是一个数组了!这真是。。。害得代码要判断传入的数量是否是1.。。真是对php的类型很不适应。
`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` 数组,并输出随机选择的值。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值