选择一组随机的行而不重复

时间:2013-03-26 10:54:55

标签: php

如何在没有任何重复的情况下显示一组随机问题(从Wordpress中提取)?

这是我尝试过的:

<?php 
$amount = get_field('select_number_of_questions');
$rand_max = count(get_field('step_by_step_test')) -1;
$rand = rand($amount,$rand_max); 
$i = 0;

while(has_sub_field('step_by_step_test')):
    if($rand == $i):
        echo the_sub_field('question');
    endif;
    $i++;
endwhile;
?>

目前它只是显示一个随机问题。

这一切都是动态的,例如总共可以有10个,20个,31个问题等。要选择的问题总数由get_field('select_number_of_questions');

定义

count(get_field('step_by_step_test')) -1;正在获取可供选择的问题总数。

总而言之,我希望它从总共get_field('select_number_of_questions');中选择count(get_field('step_by_step_test')) -1;定义的问题数量而不重复。

1 个答案:

答案 0 :(得分:3)

老实说,我不确定如何在WordPress中专门实现这一点,但这就是你的工作流程的样子:

  1. 将所有问题都放到一个数组中。
  2. 随机选择一个问题(使用array_rand())。
  3. 从数组中删除该问题(使用unset($array[$question_you_selected]))。
  4. 再次选择。
  5. 冲洗并重复,直到您有所需的问题数量。你不会有重复的。