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. ランダムに1つの質問を選択します(を使用array_rand())。
  3. その質問を配列から削除します(を使用してunset($array[$question_you_selected]))。
  4. もう一度選択します。
  5. 必要な数の質問ができるまで、すすぎ、繰り返します。重複することはありません。
于 2013-03-26T10:59:02.937 に答える