Ammetto che uso poco count() e solo per ciclare dei valori variabili, quindi non sempre capisco i suoi risultati, ma questa volta, proprio non mi torna.
In pratica sto creando un semplice captcha con un array che da domande e risposte.
Codice PHP:
$valori = [
'domanda' => [
'colore del limone', 'colore dell\'arancia',
'quanto fa uno + cinque',
'quando miagola il gatto fa?',
'quante gambe ha un cane? ( in cifra )',
'quante gambe ha un gatto? ( a lettere )'
],
'risposta' => [
'giallo', 'arancio',
'sei',
'miao',
'4',
'quattro'
]
];
per generare la domanda uso mt_rand() che va da 0 al massimo numero di domande, conteggiato con count().
E qui casca l'asino, il risultato è 6 io mi aspettavo 5, ma no mi da sei.
Codice PHP:
$domanda = mt_rand( 0, count( $valori['domanda'] ) - 1 );
// prova:
echo count( $valori['domanda'] ); // 6
// Ovviamente, se...
echo count( $valori ); // 2
Ammetto la mia ignoranza ma non dovrebbe darmi 5?