Ho avuto necessità di passare alla nuova versione PHP 8 e su un mio vecchio script mi sono trovato invaso da Warnings!
Il problema sembra essere che questa versione non considera più perfettamente lecite dichiarazioni del tipo
codice:
$strillo1_1 = $sol->blurb_html($strillo1[0]);
ammesso che $sol sia una classe e blurb_html una function là dentro.
Ma questo è un esempio che mi inetressa e potrei scriverne mille così: in pratica se l'array $strillo non fosse ancora stato dichiarato, nelle versioni precedenti PHP lo prendeva come un array vuoto e tutto andava come previsto dal programmatore.
Ora invece il sistema mi dice:
codice HTML:
Warning: Undefined array key 0 in /web/htdocs/[...] copertina.php on line 132
Ho provato a usare questa feature attiva fin dalla versione 7, ma sembra non funzionare:
codice:
$strillo1_1 = $sol->blurb_html($strillo1[0]) ?? "";
$strillo1_2 = $sol->blurb_html($strillo1[1]) ?? "";
$strillo1_3 = $sol->blurb_html($strillo1[2]) ?? "";
$strillo1_4 = $sol->blurb_html($strillo1[3]) ?? "";
Qualcuno sa dirmi perché?
Grazie.