codice:
/*////////ALLIEVI CON PIU' DI 5 ERRORI//////// */
for($i=0;$i<$allievi_no;$i++){
$quiz_errati[$a]=array();
$array_sbagliati[$a]=array();
// echo(json_encode($array_allievi[$i])."\n\r");
$errori1=rand(5,10);
// echo("num errori: ".$errori1."\n\r");
for($j=0;$j<$errori1;$j++){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati[$a])){
$id_errati=rand(1,39);
}
}
}
}
}
}
}
}
}
array_push($array_sbagliati[$a],$id_errati);
}
$a++;
}
$n=0;
$listaQuizId_no=array();
$h=0;
$s=1;
$semaforo=false;
while($h<$a){
$arr_giuste=array();
$arr_errate=array();
$arr[$h] = array();
$arr_giuste[$h]=array();
foreach($array_sbagliati[$h] as $key=>$value){
//echo($key."=>".$value)."\n\r";
$arr[$h][$key] = $value;
}
array_multisort($arr[$h], SORT_ASC, $array_sbagliati[$h]);
// echo json_encode($arr[$h])."\n\r";
for($q=0;$q<sizeof($arr[$h]);$q++){
while(sizeof($quiz_errati[$h])<sizeof($array_schede)){
if($arr[$h][$q]==$s){
$listaQuizId_no[$h]=array(
"id".($s) =>$array_schede[$s-1]["id".($s)],
"rispostaok"=> 0
);
array_push($quiz_errati[$h], $listaQuizId_no[$h]);
$s++;
if($q<sizeof($arr[$h])-1){
$q++;
}
}else{
$listaQuizId_no[$h]=array(
"id".($s) =>$array_schede[($s-1)]["id".($s)],
"rispostaok"=> 1
);
array_push($quiz_errati[$h], $listaQuizId_no[$h]);
$s++;
}
}
$s=1;
}
$agg_corretta=array(
"id_allievo"=>$array_allievi[$h]["id_allievo"],
"tempo_scheda"=>$tempo,
"arr_idmaster_rispostaok"=>$quiz_errati[$h]
);
array_push($result["risultati"], $agg_corretta);
// echo(json_encode($quiz_errati[$h])."\n\r");
$h++;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
/*///////////////////////////////////////ALLIEVI CON MENO DI 5 ERRORI/////////////////////////////// */
//////////////////////////////////////////////////////////////////////////////////////////////////////
$d=0;
$cont=0;
for($i=0;$i<$allievi_ok;$i++){
$quiz_errati2[$d]=array();
$array_sbagliati2[$d]=array();
// echo(json_encode($array_allievi[$i])."\n\r");
$errori2=rand(0,4);
if($errori2!=0){
for($j=0;$j<=$errori2;$j++){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
if(in_array($id_errati,$array_sbagliati2[$d])){
$id_errati=rand(1,39);
}
}
}
}
}
}
}
}
}
array_push($array_sbagliati2[$d],$id_errati);
}
}
$d++;
}
$n=0;
$listaQuizId_no2=array();
$x=0;
$s=1;
$l=1;
$m=0;
$quiz_errati2=array();
while($x<$d){
if($array_sbagliati2[$x]!=[]){
$arr_giuste=array();
$arr_errate=array();
$arr[$x] = array();
$arr_giuste[$x]=array();
$quiz_errati2[$x]=array();
foreach($array_sbagliati2[$x] as $key=>$value){
//echo($key."=>".$value)."\n\r";
$arr[$x][$key] = $value;
}
array_multisort($arr[$x], SORT_ASC, $array_sbagliati2[$x]);
for($m=0;$m<sizeof($arr[$x]);$m++){
while(sizeof($quiz_errati2[$x])<sizeof($array_schede)){
if($arr[$x][$m]==$s){
$listaQuizId_no2[$x]=array(
"id".($s) =>$array_schede[$s-1]["id".($s)],
"rispostaok"=> 0
);
array_push($quiz_errati2[$x], $listaQuizId_no2[$x]);
$s++;
if($m<sizeof($arr[$x])-1){
$m++;
}
}else{
$listaQuizId_no2[$x]=array(
"id".($s) =>$array_schede[($s-1)]["id".($s)],
"rispostaok"=> 1
);
array_push($quiz_errati2[$x], $listaQuizId_no2[$x]);
$s++;
}
}
$s=1;
}
$agg_corretta=array(
"id_allievo"=>$array_allievi[$x]["id_allievo"],
"tempo_scheda"=>$tempo,
"arr_idmaster_rispostaok"=>$quiz_errati2[$x]
);
array_push($result["risultati"], $agg_corretta);
//echo(json_encode($quiz_errati2[$x])."\n\r");
}else{
$quiz_OK=array();
$quiz_errati2[$x]=array();
// echo("VUOTO: ". json_encode($array_sbagliati2[$x])."\n\r");
while($s<=sizeof($array_schede)){
$listaQuizId_no2[$x]=array(
"id".($s) =>$array_schede[$s-1]["id".($s)],
"rispostaok"=> 0
);
array_push($quiz_errati2[$x], $listaQuizId_no2[$x]);
$s++;
}
$s=1;
$agg_corretta=array(
"id_allievo"=>$array_allievi[$x]["id_allievo"],
"tempo_scheda"=>$tempo,
"arr_idmaster_rispostaok"=>$quiz_errati2[$x]
);
array_push($result["risultati"], $agg_corretta);
}
$x++;
}
$risultati_finale=array(
"file_listato"=> "NQM2016.1.XML",
"num_quesiti" => "40",
"soglia_errori"=> "4",
"risultati"=>$result["risultati"]
);
// echo json_encode($result["risultati"]);
echo json_encode($risultati_finale);
file_put_contents("risultati_finale.json",json_encode($risultati_finale));
Non è bello ma fa quello di cui avevo bisogno.