0

如何显示一组随机的问题(从 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;
?>

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

这都是动态的,例如总共可以有 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;而没有任何重复。

4

1 回答 1

3

老实说,我不确定如何在 WordPress 中具体实现这一点,但您的工作流程应该是这样的:

  1. 将所有问题放入一个数组中。
  2. 随机选择一个问题(使用array_rand())。
  3. 从数组中删除该问题(使用unset($array[$question_you_selected]))。
  4. 再次选择。
  5. 冲洗并重复,直到你有你想要的问题数量。你不会有重复的。
于 2013-03-26T10:59:02.937 回答