我创建了一个函数,用于每次获取数组中有限的随机元素。我已经尽了一切努力来完成这项工作。所以数组是这样的 Q1,Q2,Q3,Q4,Q5,Q6限制为4后,我得到Q2,Q4,Q6,Q3,然后得到Q6,Q3,Q2,Q4,依此类推,但我没有得到任何一组的Q1和Q5。它只是一次创建随机元素并在其周围随机播放。 因此,主要原因是我坚持使用某些插件代码,并且无法更改任何其他功能,否则它将中断,因此有办法坚持下去并进行更改。
谢谢
有两个单独的条件。所以请不要混淆。我不能在这里放下整个代码。如果您需要查看,我已经放下了下面的要点链接
此条件用于更新下一次重考的问题
if ( $quiz && $questions = $quiz->get_questions() ) {
$questions = array_values( array_intersect_key( $questions, array_flip( array_rand( $questions, 4 ) ) ) ) ;
shuffle( $questions );
$question_id = reset( $questions );
这种情况会随机化问题
if {
$question_ids = array_values( array_intersect_key( $quiz_questions, array_flip( array_rand( $quiz_questions, 4 ) ) ) ) ;
shuffle( $question_ids );
$random_quiz[ $quiz_id ] = $question_ids;
$questions = array();
foreach ( $question_ids as $id ) {
$questions[ $id ] = $quiz_questions[ $id ];
}
}
return $questions;
https://gist.github.com/talha6248/acabd83e4da44d5a2a262d690db58dd1