以下を使用して、重複のないランダムな質問のセットを選択しています。
<?php
$amount = get_field('select_number_of_questions');
$repeater = get_field("step_by_step_test");
shuffle($repeater);
$repeater_limit = array_slice($repeater,0,$amount);
foreach($repeater_limit as $repeater_row) {
echo "<p>".$repeater_row['question']."</p>";
$rows = $repeater_row['answer_options'];
foreach($rows as $row) {
echo $row['answer']."<br />";
}
}
?>
各質問にはフィールドがあります:get_field('required_question');
それはyes/noドロップダウンを持っています。はいを選択した質問は、常に上記のループに組み込む必要があります。
たとえば、テストには20の質問から選択でき、10の質問がランダムに選択されます。20の質問の中に、2つの必須の質問があります(つまり、これらは常に選択されます)。したがって、2つの必須の質問を取得し、他の8つのランダムな質問を選択する必要があります。
ランダムな選択に必要な質問を含めるにはどうすればよいですか?