Heim >Backend-Entwicklung >PHP-Tutorial >Wie ersetze ich die veraltete PHP-Funktion „each()'?
Aktualisieren des Codes der veralteten Funktion „each()“
PHP 7.2 hat die Funktion „each()“ veraltet, was zu Warnungen bei deren Verwendung führt. In diesem Artikel wird erläutert, wie Sie Ihren Code modernisieren und die Verwendung von every() vermeiden können.
Beispielfälle
Hier sind einige Beispiele, bei denen Each() zuvor verwendet wurde:
Werte zuweisen mit reset() und list():
$ar = $o->me; reset($ar); list($typ, $val) = each($ar);
Werte direkt zuweisen:
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $expected = each($out);
Falsches Durchlaufen eines Arrays:
for(reset($broken);$kv = each($broken);) {...}
Ignorieren des Schlüssels in einer Liste() Zuweisung:
list(, $this->result) = each($this->cache_data);
Falsche Iteration mit Längenprüfungen:
reset($array); while( (list($id, $item) = each($array)) || $i < 30 ) { // code $i++; }
Aktualisierter Code
1. Werte zuweisen
Durch key() und current() ersetzen:
$ar = $o->me; $typ = key($ar); $val = current($ar);
2. Direkte Zuweisung
Durch einen expliziten Array-Schlüssel und -Wert ersetzen:
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null); $expected = [key($out), current($out)];
3. Korrekte Iteration
Verwenden Sie foreach() und weisen Sie das Schlüssel-Wert-Paar innerhalb der Schleife zu:
foreach ($broken as $k => $v) { $kv = [$k, $v]; }
4. Schlüssel ignorieren
Weisen Sie den aktuellen Wert direkt zu:
$this->result = current($this->cache_data);
5. Array-Iteration mit Prüfungen
Durch eine traditionelle for()-Schleife ersetzen:
reset($array); for ($i = 0; $i < 30; $i++) { $id = key($array); $item = current($array); // code next($array); }
Das obige ist der detaillierte Inhalt vonWie ersetze ich die veraltete PHP-Funktion „each()'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!