#php #arrays #key #undefined
Вопрос:
Мой веб-отель обновлен до версии PHP 8.0.Код работает, но теперь на главной странице отображается сообщение с предупреждением.
У меня что-то с моим массивом.
Warning: Undefined array key "JS" in /customers/c/c/4/plf1x2.dk/httpd.www/test/svspeuro.php on line 1465 Warning: Undefined array key "Vinst" in /customers/c/c/4/plf1x2.dk/httpd.www/test/svspeuro.php on line 1465 Warning: Undefined array key "PWB" in /customers/c/c/4/plf1x2.dk/httpd.www/test/svspeuro.php on line 1468 Warning: Undefined array key "Vinst" in /customers/c/c/4/plf1x2.dk/httpd.www/test/svspeuro.php on line 1468 Warning: Undefined array key "oavgjord" in /customers/c/c/4/plf1x2.dk/httpd.www/test/svspeuro.php on line 1471 here
Я пробовал с
enterif (isset($matchesLines[$Borta_Lag]['omgångar'])){ $matchesLines[$Borta_Lag]['omgångar'] =1; } code here
но это не работает, он получает пустое значение.
Вот код. Надеюсь, кто-нибудь сможет мне помочь?
// Sorterar ut lagnamn och resultat $file = file($filename); $result = array_merge($file,$resultatarray) $matchesLines = array(); foreach($result as $line) { if(preg_match('/^([a-öA-Ö] D)-([a-öA-Ö] D) (d )-(d )/', $line, $data)){ $Hemma_Lag = $data[1]; $Borta_Lag = $data[2]; $Hemma_Resultat = $data[3]; $Borta_Resultat=$data[4]; $matchesLines[$Hemma_Lag]['Vinst'] = 0; $matchesLines[$Borta_Lag]['Vinst'] = 0; $matchesLines[$Hemma_Lag]['oavgjord'] = 0; $matchesLines[$Borta_Lag]['oavgjord'] = 0; $matchesLines[$Hemma_Lag]['Förlust'] = 0; $matchesLines[$Borta_Lag]['Förlust'] = 0; if ($Hemma_Resultat == $Borta_Resultat){ $matchesLines[$Hemma_Lag]['lag'] = $Hemma_Lag; $matchesLines[$Hemma_Lag]['poang'] =1; $matchesLines[$Hemma_Lag]['mål'] = $Hemma_Resultat; $matchesLines[$Hemma_Lag]['måli'] = $Borta_Resultat; $matchesLines[$Hemma_Lag]['oavgjord'] = 1; $matchesLines[$Borta_Lag]['lag'] = $Borta_Lag; $matchesLines[$Borta_Lag]['poang'] =1; $matchesLines[$Borta_Lag]['mål'] = $Borta_Resultat; $matchesLines[$Borta_Lag]['måli'] = $Hemma_Resultat; $matchesLines[$Borta_Lag]['oavgjord'] = 1; } if ($Hemma_Resultat gt; $Borta_Resultat){ $matchesLines[$Hemma_Lag]['lag'] = $Hemma_Lag; $matchesLines[$Hemma_Lag]['poang'] =3; $matchesLines[$Hemma_Lag]['mål'] = $Hemma_Resultat; $matchesLines[$Hemma_Lag]['måli'] = $Borta_Resultat; $matchesLines[$Hemma_Lag]['Vinst'] = 1; $matchesLines[$Borta_Lag]['lag'] = $Borta_Lag; $matchesLines[$Borta_Lag]['poang'] =0; $matchesLines[$Borta_Lag]['mål'] = $Borta_Resultat; $matchesLines[$Borta_Lag]['måli'] = $Hemma_Resultat; $matchesLines[$Borta_Lag]['Förlust'] = 1; } if ($Hemma_Resultat lt; $Borta_Resultat) { $matchesLines[$Hemma_Lag]['lag'] = $Hemma_Lag; $matchesLines[$Hemma_Lag]['poang'] =0; $matchesLines[$Hemma_Lag]['Förlust'] = 1; $matchesLines[$Hemma_Lag]['mål'] = $Hemma_Resultat; $matchesLines[$Hemma_Lag]['måli'] = $Borta_Resultat; $matchesLines[$Borta_Lag]['lag'] = $Borta_Lag; $matchesLines[$Borta_Lag]['poang'] =3; $matchesLines[$Borta_Lag]['Vinst'] = 1; $matchesLines[$Borta_Lag]['mål'] = $Borta_Resultat; $matchesLines[$Borta_Lag]['måli'] = $Hemma_Resultat; } if (isset($matchesLines[$Borta_Lag])){ $matchesLines[$Borta_Lag]['omgångar'] =1; $matchesLines[$Hemma_Lag]['omgångar'] =1; } } }
Комментарии:
1. Я не думаю, что это специфическая вещь для PHP 8. Я думаю, что это, вероятно, просто разница в
display_errors
настройках php.ini в вашей обновленной версии PHP. Я думаю, что вы уже получали эти предупреждения ранее из-за неинициализированных переменных, но они просто не отображались.2. Спасибо за ваш ответ. Я думаю, что вы правы. Но проблема все еще существует. Как мне избавиться от массажа? Я не могу понять, как объявлять переменные.