array_rand没有在do-while循环中再次运行


array_rand not running again in do-while loop

当在数组中找到随机生成的变量时,我有一个do-while语句会重复,但是当do-whil语句重复时,随机数组不会改变。我的代码看起来像这个

$verifica = true;
        do
        {
            echo "empieza while";
            $rand2[] =  $_arreglo[array_rand($_arreglo)];   
            //echo $rand2[0]['idpregunta'];
            if(in_array($rand2[0]['idpregunta'], $pregresul)){
                     $verifica = true;
                echo $rand2[0]['idpregunta'];
                $rand2[] =  $_arreglo[array_rand($_arreglo)];
                }else{
                 $verifica = false;   
            }
            echo "termina while";
        }while ($verifica == true );
        echo $rand2[0]['idpregunta'];
        }

我通过在新循环开始前取消设置我的$rand2变量来解决这个问题。unset($rand2);