Intanto il codice è scritto male, dovresti scriverlo così
Codice PHP:
// non serve fare anche il calcolo -1, basta sostiruire <= con <
for ($i = 0; $i < count($answers); $i++)
{
// qui erano sbagliati gli apici dei value, vedi la differenza con quelli che hai scritto tu
echo '<input type="radio" name="a" value="' . ($i + 1) . '">risposta1<br>';
echo '<input type="radio" name="a" value="' . ($i + 1) . '">risposta2<br>';
}
Prova a pensare come vengono eseguite le istruzioni per renderti conto di cosa succede.
Considera che count($answers) sia 3, che fa il codice?
- $i vale 0
- verifica se $i < 3
- è minore, quindi entra nel ciclo
- stampa
<input type="radio" name="a" value="1">risposta1
<input type="radio" name="a" value="1">risposta2
- incrementa $i di 1, adesso vale 1
- verifica se $i < 3
- è minore, quindi entra nel ciclo
- stampa
<input type="radio" name="a" value="2">risposta1
<input type="radio" name="a" value="2">risposta2
- incrementa $i di 1, adesso vale 2
- verifica se $i < 3
- è minore, quindi entra nel ciclo
- stampa
<input type="radio" name="a" value="3">risposta1
<input type="radio" name="a" value="3">risposta2
- incrementa $i di 1, adesso vale 3
- verifica se $i < 3
- è uguale, quindi si ferma
Alla fine hai stampato
<input type="radio" name="a" value="1">risposta1
<input type="radio" name="a" value="1">risposta2
<input type="radio" name="a" value="2">risposta1
<input type="radio" name="a" value="2">risposta2
<input type="radio" name="a" value="3">risposta1
<input type="radio" name="a" value="3">risposta2
Cioè esattamente ciò che ti è apparso.
P.S.: $i non deve per forza partire da 0, puoi farla partire dal numero che ti pare, io per esempio in questo caso la farei partire da 1, così ti eviti i calcoli ($i +1) potendo mettere solo $i, in tal caso devi rimettere <= nella condizione del for (sempre senza il -1)