首页 > 解决方案 > PHP获取不同的随机数组元素

问题描述

实际上,我有这段代码可以根据$N代表的值的数量来获取不同的元素。

$my_array = array('a','b','c','d','e');
foreach( array_rand($my_array, $N) as $key )
{
  echo $my_array[$key];
}

例如,如果$N = 2,我会得到两个随机元素,它工作正常。

问题是$N = 1,我收到以下错误:

警告为 foreach() 提供的参数无效

有什么想法或建议来解决它吗?

标签: phparraysforeach

解决方案


快速修复是:

$my_array = array('a','b','c','d','e');
// Cast result of `array_rand` to type "array"
foreach((array)array_rand($my_array, $N) as $key)
{
    echo $my_array[$key];
}

推荐阅读