Viene visualizzato questo errore quando si tenta di utilizzare la sintassi push dell'array corto su una stringa.
Ad esempio, questo
$foo = 'foo';
$foo[] = 'bar'; // ERROR!
Direi che uno o più dei tuoi $name
, $date
, $text
o $date2
è stata inizializzata come una stringa.
Modifica: Riesaminando la tua domanda, sembra che tu non voglia effettivamente usarli come array poiché li tratti come stringhe più in basso.
In tal caso, modifica i tuoi compiti in
$name = $row['name'];
$date = $row['date'];
$text = $row['text'];
$date2 = $row['date2'];
Sembra che ci siano alcuni problemi con PHP 7 e il codice che usa l'indice vuoto sintassi push dell'array.
Per chiarire, questi funzionano bene in PHP 7+
$previouslyUndeclaredVariableName[] = 'value'; // creates an array and adds one entry
$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry
Cosa non funziona sta tentando di utilizzare indice vuoto push su qualsiasi variabile dichiarata come stringa, numero, oggetto, ecc, cioè
$declaredAsString = '';
$declaredAsString[] = 'value';
$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';
$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';
Tutti risultano in un errore irreversibile.