non avevo capito.....

se ti servono anche i valori non selezionati devi fare degli hidden come stavi facendo e ciclare quello

altrimenti puoi fare

<input name="acquistato[<?php echo $row_acquisti['id']; ?>]" type="checkbox" id="acquistato[<?php echo $row_acquisti['id']; ?>]" value="<?php echo $row_acquisti['valore']; ?>" />

foreach($acquistato as $key => $value){
echo "id: {$key}, valore: {$value}";
}

in questo modo mantieni l'accoppiata id/valore con un campo solo
ciao