Heim >Backend-Entwicklung >PHP-Tutorial >Wie ersetze ich die veraltete PHP-Funktion „each()'?

Wie ersetze ich die veraltete PHP-Funktion „each()'?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 15:01:11806Durchsuche

How to Replace PHP's Deprecated `each()` Function?

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:

  1. Werte zuweisen mit reset() und list():

    $ar = $o->me;
    reset($ar);
    list($typ, $val) = each($ar);
  2. Werte direkt zuweisen:

    $out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
    $expected = each($out);
  3. Falsches Durchlaufen eines Arrays:

    for(reset($broken);$kv = each($broken);) {...}
  4. Ignorieren des Schlüssels in einer Liste() Zuweisung:

    list(, $this->result) = each($this->cache_data);
  5. 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn