Buongiorno ho un problema con un array multidimensionale a cui devo smontarlo e rimontarlo come segue:
codice:
ARRAY INIZIALE:


[{"id1":"6419"},{"id2":"1889"},{"id3":"6551"},{"id4":"6189"},{"id5":"6182"},{"id6":"4982"},{"id7":"5947"},{"id8":"3028"},{"id9":"704"},{"id10":"2422"},{"id11":"5844"},{"id12":"4377"},{"id13":"481"},{"id14":"4754"},{"id15":"6663"},{"id16":"5834"},{"id17":"3716"},{"id18":"6919"},{"id19":"3198"},{"id20":"1900"},{"id21":"5242"},{"id22":"2998"},{"id23":"3760"},{"id24":"2108"},{"id25":"3055"},{"id26":"2913"},{"id27":"618"},{"id28":"315"},{"id29":"1341"},{"id30":"4336"},{"id31":"1000"},{"id32":"918"},{"id33":"2897"},{"id34":"5223"},{"id35":"6181"},{"id36":"4749"},{"id37":"4095"},{"id38":"5234"},{"id39":"1504"},{"id40":"1749"}]
da questo array devo ottenere 8 array diversi simili con id da 1 a 40 in cui ho alcuni id con risposta errata (da 5 a 10) e gli altri tutti giusti, riesco ad ottenere dal codice l' array con tutti gli ID errati ma da lì non riesco a dirgli come tutti gli altri diversi da quelli devono essere corretti:

codice:
/*//////////////////////////id SBAGLIATI/////////////////////*/
 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);                 
                   // echo("id_errati: ".$id_errati."\n\r");
                    array_push($array_sbagliati[$a],$id_errati);


                }
       
               // echo(json_encode($array_sbagliati[$a])."\n\r");
                $a++;   
            }

/*//////////////////////////////////////////////////////////////////*/

/*////////////////////////ARRAY CON id e risposta sbagliata*/
  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]);


                for($a=0;$a<sizeof($arr[$h]);$a++){
                    for($r=0;$r<sizeof($array_schede);$r++){
                       // echo($arr[$h][$a])."\n\r";     
                                        
                        if($arr[$h][$a]==$r){
                            // echo ($r."\n\r");
                            $listaQuizId_no[$h]=array(                            
                                "id".($r+1) =>$array_schede[$r]["id".($r+1)],
                                "rispostaok"=> 0
                            );
                            //echo($q)."\n\r";
                            array_push($quiz_errati[$h], $listaQuizId_no[$h]);  
                        }                      
                    
                    }   


                }



//////////////////////////////////////////////////////////////////
ottengo tutti gli array con solo le risposte errate per ogni array che mi serve:
codice:
[{"id15":"6663","rispostaok":0},{"id19":"3198","rispostaok":0},{"id21":"5242","rispostaok":0},{"id23":"3760","rispostaok":0},{"id24":"2108","rispostaok":0},{"id24":"2108","rispostaok":0},{"id30":"4336","rispostaok":0},{"id34":"5223","rispostaok":0},{"id38":"5234","rispostaok":0}]


[{"id3":"6551","rispostaok":0},{"id8":"3028","rispostaok":0},{"id13":"481","rispostaok":0},{"id28":"315","rispostaok":0},{"id29":"1341","rispostaok":0},{"id32":"918","rispostaok":0},{"id33":"2897","rispostaok":0},{"id39":"1504","rispostaok":0}]


[{"id11":"5844","rispostaok":0},{"id18":"6919","rispostaok":0},{"id19":"3198","rispostaok":0},{"id36":"4749","rispostaok":0},{"id38":"5234","rispostaok":0},{"id40":"1749","rispostaok":0}]


[{"id7":"5947","rispostaok":0},{"id9":"704","rispostaok":0},{"id11":"5844","rispostaok":0},{"id20":"1900","rispostaok":0},{"id21":"5242","rispostaok":0},{"id23":"3760","rispostaok":0},{"id25":"3055","rispostaok":0},{"id38":"5234","rispostaok":0}]


[{"id3":"6551","rispostaok":0},{"id6":"4982","rispostaok":0},{"id12":"4377","rispostaok":0},{"id16":"5834","rispostaok":0},{"id20":"1900","rispostaok":0},{"id22":"2998","rispostaok":0},{"id23":"3760","rispostaok":0},{"id24":"2108","rispostaok":0},{"id35":"6181","rispostaok":0},{"id37":"4095","rispostaok":0}]


[{"id11":"5844","rispostaok":0},{"id15":"6663","rispostaok":0},{"id17":"3716","rispostaok":0},{"id22":"2998","rispostaok":0},{"id31":"1000","rispostaok":0},{"id32":"918","rispostaok":0}]
come faccio a dirgli che le altre sono giuste quindi con
es.
id1=> 4321
rispostaok=>1

In cui ovviamente devo poi mettere tutti gli array da id1 a id40 con ripsote 0 o 1 a seconda di come ho ottenuto...
idee?