Buongiorno e buona domenica a tutti,
Non riesco a trovare la soluzione ad un semplice problema di conversione di un array da stringa a intero. Mi spiego: ho la necessità di importare da un file .txt la serie di numeri presenti al suo interno e trasferirli nel database MYSQL.
Ho creato un file PROVA.txt composto da una sola riga, contenente: "5 6 7 8". Lo apro e creo una stringa contenente i valori della riga e chiudo il file:
Codice PHP:
$file="PROVA.txt";
$open=fopen($file,"r");
//Verifico che l'apertura del file .txt sia avvenuta correttamente://
if(!$open) die ("Errore nella operazione con il file");
//Leggo il contenuto del file e lo salvo all'interno di una stringa://
$contenuto=fread($open,filesize($file));
fclose($open);
A questo punto la stringa la suddivido nei singoli elementi creando l'array:
Codice PHP:
$array=explode(' ',$contenuto);
Se cerco di passare questo array in MYSQL in una tabella apposita chiamata sempre PROVA composta da 4 colonne mi da errore. Associo questo errore al fatto che ho assegnato alle colonne il tipo INT e quindi voglio convertire l'array prima di inviare a MYSQL. Realizzo allora:
Codice PHP:
foreach ($array as $value)
$intArray [] = (integer) $value;
var_dump($intArray);
Vi mostro ciò che ottengo dalla var_dump:
array(4) { [0]=> int(0) [1]=> int(6) [2]=> int(7) [3]=> int(8) }
Mi ha correttamente convertito ogni elemento dell'array in intero ma l'elemento array[0] ha anche cambiato il valore da "5" a "0". A cosa è dovuto questa modifica che ovviamente non posso in alcun modo accettare?
Grazie