Seite 1 von 1

Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Mo 12. Aug 2019, 20:21
von Leif
Im KO-Turnier gibts noch eine Warnung mit PHP 7.3.6.

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /lmo4/lmo-showkoresults.php on line 113

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Di 13. Aug 2019, 10:47
von eumel1602
KAnnst Du das genauer Beschreiben...
Ich benutze auch ein KO turnier und habe keinen Fehler mit PHP 7.3.

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Di 13. Aug 2019, 22:51
von Leif
Jo gerne.
Nur im Reiter Ergebnisse kommt diese Warnung bei PHP 7.2 und 7.3.:
Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /lmo4/lmo-showkoresults.php on line 113

Bis PHP 7.1 keine Warnung.

Geht also um diesen Code:

Code: Alles auswählen

  while (list ($key, $val) = each ($datsort)) {

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Mo 19. Aug 2019, 19:57
von eumel1602
Ok !
Nein kann ich nicht bestätigen... bei mir läuft eswie gesagt ...

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Mo 24. Feb 2020, 23:21
von Puref0x
Mit meinem ersten Beitrag erst einmal ein dickes Dankeschön für die Anpassung des LMO an PHP 7. Unser Hoster stellt den Support für PHP5 demnächst ein und so waren wir hier auch auf der Suche nach einer Lösung um insbesondere das Tippspiel am laufen zu lassen.

Ich hake zunächst einmal in diesem Thread ein, da ich bei der Umstellung eine ähnliche Fehlermeldung erhalten habe (PHP-Version 7.2.19, 7.3 habe ich aber auch getestet). Bei mir war es nicht die Zeile 113 in der lmo-showkoresults.php, sondern die 45 in der lmo-showresults.php. Die each() Funktion ist veraltet und wird zukünftig nicht mehr unterstützt, die Meldung erscheint wenn man die entsprechenden Fehlermeldungen nicht unterdrückt (funktionieren tut es derzeit wohl trotzdem noch).

Man muss die entsprechenden Stellen umbauen. Beispiel Ziele 45 in der lmo-showresults.php:

Alt:

Code: Alles auswählen

while (list ($key, $val) = each ($datsort)) {
Neu:

Code: Alles auswählen

foreach($datsort as $key => $val) {
Für die 113 in der lmo-showkoresults.php gilt das entsprechend genauso. Vermutlich gibt es noch andere Stellen in den LMO-Scripts, bei diesen war mir das bislang aufgefallen.

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Di 25. Feb 2020, 19:14
von Puref0x
Weitere Dateien, bei denen dies geändert werden sollte:

lmo-savehtml.php
lmo-savehtml1.php

Re: Deprecated: The each() function in lmo-showkoresults.php on line 113

Verfasst: Mi 26. Feb 2020, 10:17
von Henshingly
Auszug aus php.net
each

(PHP 4, PHP 5, PHP 7)

each — Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und rückt den Arrayzeiger vor
Warnung

Diese Funktion ist seit PHP 7.2.0 als DEPRECATED (veraltet) markiert. Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert.
Also alle deren PHP ab 7.2 läuft und daran interessiert sind. Hier die geändernden Dateien zum Download.

MfG
Henshingly

Fehler gelöst. Thema gesperrt.