Funzione non restituisce completamente un array

  • Creatore Discussione Creatore Discussione Lighty
  • Data di inizio Data di inizio

Lighty

Nuovo Utente
2 Apr 2014
29
0
0
Salve a tutti.
Sto creando un sito web e, per velocizzare la stesura del codice, ho creato dei captha provvisori a cui poi sostituirò quelli di Google.
Ecco il codice.
PHP:
$captha_array = array(array('Quale era il nome di Garibaldi?', 'guiseppe'),
array('Quale era il nome di Mandela?', 'nelson'));
//ce ne sono altri 18

function GetCaptha(){
$key = rand(0, 19);
$question = $captha_array[$key][0];
return array($key, $question);}

Ora: richiamando la funzione da uno script, associando ad esempio il nome variabile $captha alla funzione GetCaptha(), $captha[0] mi restituisce la chiave del captha generata casualmente, ma $captha[1] è vuoto.

Se il codice lo metto in uno script e non in una funzione, tutto fila liscio: $captha[1] contiene la domanda.
Perchè?
 
Ciao, non puoi avere accesso al valore di una variabile definita al di fuori della funzione.
le suluzioni che mi vengono in mente :
1- definisci l'array all'interno della funzione
2- passi l'array come parametro della funzione
3- usi la keyword global
 
Grazie mille, a dire il vero avevo studiato le variabili e le funzioni, ma... non mi era venuto proprio in mente.
Grazie ancora!
 

Discussioni simili