Человек, я не знаю, какой код вы там написали, но у меня есть идея, что вы хотите сделать. Вот рабочий код:
// I assume you have some array with questions,their options and answers in it like : array(question, option_array, answer)
$question_option_answer_array = array(array('question1',array('a','b','c'),'a'), array('question2',array('A','B','C'),'B'), array('question3',array('I','II','III'),'I'));
$noQuestions = count($question_option_answer_array);
$options = array();
$answers = array();
for($i=0;$i<$noQuestions;$i++){
$options[] = $question_option_answer_array[0][1];
$answers[] = $question_option_answer_array[0][2];
}
$options = array(array('a','b','c'),array('A','B','C'),array('I','II','III'));
$answers = array('a','B','I');
$limit = count($answers);
$mixArray = array();
for($i=0;$i<$limit;$i++){
shuffle($options[$i]);
echo 'My Options :<br>';
foreach($options[$i] as $op){
echo $op.'<br>';
}
echo 'My answer :'.$answers[$i].'<br><br>';
}
Один пример вывода:
My Options :
c
a
b
My answer :a
My Options :
A
C
B
My answer :B
My Options :
III
II
I
My answer :I
Это будет меняться каждый раз, как вы хотите. Он организует ваши варианты случайным образом каждый раз, и ваш ответ остается неповрежденным по отношению к каждому набору параметров, как его в разных массивах. Используйте массив $options
, чтобы указать свои параметры и массив $answers
, чтобы сохранить свой ответ соответственно.
Я надеюсь, что это помогает
Каков ожидаемый выход? Также добавьте входные массивы. –
Что такое '$ noQuestions'? – Tiger
Что такое запятая в имени ключа '[$ x, $ x * 4]' предположим? (как бы то ни было, это даст вам ошибку синтаксического анализа). –