如何随意爆炸元素?

时间:2018-01-25 17:22:18

标签: php

这是我的代码:

function get_random(){
    $filter_word     = '1,2,3,4,5,6,7,8,9';
    $array = explode(',', $filter_word);
    $randomKeys = array_rand($array, 2);
    $str = '';
    foreach($randomKeys as $key){
        $str = $array[$key];
    }

    return $str;
}

如果我使用array_rand的问题,我必须知道可以在array_rand中添加数字的元素数量,我不知道这样的事情(它是存储在数据库中的数据)因此,如果元素小于2,则会给出错误:

  

警告:array_rand():第二个参数必须介于1和数组中的元素数之间

有更好的方法吗?

2 个答案:

答案 0 :(得分:0)

我想你正在寻找这样的东西:

$randCount = rand(1, count($array));
$randomKeys = array_rand($array, $randCount);

答案 1 :(得分:0)

您可以在使用count() -

之前使用array_rand
function get_random(){
    $filter_word     = '1,2,3,4,5,6,7,8,9';
    $array = explode(',', $filter_word);
    $str = '';
    if(count($array)>1){
       $randomKeys = array_rand($array, 2);

       foreach($randomKeys as $key){
           $str = $array[$key];
       }
    }
    else{
            $str = $filter_word;
     }
    return $str;
  }