Sto eseguendo un sito Web di creazione di quiz. Desidero mostrare le risposte a una domanda a un utente in un ordine mescolato.Shuffling Array allo stesso modo, in base al numero
sto cercando di evitare di memorizzare l'ordine in cui le risposte sono state presentate per l'utente, se dovessi mischiare loro in modo casuale.
Voglio mescolare le risposte in modo prevedibile, in modo da poter ripetere lo shuffle allo stesso modo in seguito (quando si visualizzano i risultati).
Ho pensato di poter mescolare l'elenco di risposte di un certo numero (utilizzando il numero nell'ordine o più tipi di ordinamento identificabili tramite un numero ID. In questo modo posso semplicemente memorizzare il numero che sono stati mescolati e richiamati di nuovo al numero per rimescolarli nello stesso ordine
Ecco lo scheletro di quello che ho finora, ma non ho alcuna logica per rimettere le risposte in $ shuffled_array nell'ordine mescolato
<?php
function SortQuestions($answers, $sort_id)
{
// Blank array for newly shuffled answer order
$shuffled_answers = array();
// Get the number of answers to sort
$answer_count = count($questions);
// Loop through each answer and put them into the array by the $sort_id
foreach ($answers AS $answer_id => $answer)
{
// Logic here for sorting answers, by the $sort_id
// Putting the result in to $shuffled_answers
}
// Return the shuffled answers
return $shuffled_answers;
}
// Define an array of answers and their ID numbers as the key
$answers = array("1" => "A1", "2" => "A2", "3" => "A3", "4" => "A4", "5" => "A5");
// Do the sort by the number 5
SortQuestions($answers, 5);
?>
C'è tecnica che io ca n usare per mescolare le risposte con il numero passato nella funzione?
Considerare "l'archiviazione" l'ordine di risposta all'interno di un elemento di input nascosto? :) –