Buonasera a tutti,
ho un file json con diverse righe cominciano tutte con "{" e finiscono con "}".
tramite questa
foreach:
$varcont=1;
// Preparo un array vuoto
$data = array();
// Leggo il file in righe
$lines = file("C:\Users\XXX\Desktop\json\XXX_mod.json");
// Ciclo le righe
foreach ($lines as $line) {
// Leggo il JSON della riga
$json = json_decode($line);
echo $varcont++;
echo "<br>";
echo "<br>";
$data[] = $json;
}
Riesco a passare tutte le righe, lo so perchè faccio stampare a video il numero di
foreach e so quante sono le righe.
Poi con questa
IF nel
foreach controllo se il json è valido ed con una seconda
foreach ed estraggo i dati riga per riga:
// Se il JSON è valido...
if ($json) {
// Aggiungo il dato all'array
$data[] = $json;
echo "<br>";
echo $var_Number++;
echo "<br>";
}
foreach ($data as $data){
$id = $data->id;
$full_name = $data->full_name;
$first_name = $data->first_name;
}
Il problema è che finchè è la prima riga non ci sono problemi, la legge tranquillamente, appena però va per salvare i dati del json nuovamente nelle variabile della seconda
foreach mi da questo errore:
Fatal error: Uncaught Error: Cannot use object of type stdClass as array in C:\xampp\htdocs\PHP7\Linkedin_DB.php:166 Stack trace: #0 {main} thrown in C:\xampp\htdocs\PHP7\Linkedin_DB.php on line 166
La riga 166 è la seguente
$data[] = $json;
Da cosa può dipendere??
Grazie