Maison >développement back-end >tutoriel php >Comment puis-je remplacer la fonction obsolète `each()` en PHP ?

Comment puis-je remplacer la fonction obsolète `each()` en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 01:25:09738parcourir

How Can I Replace the Deprecated `each()` Function in PHP?

Mise à jour du code pour éviter d'utiliser la fonction obsolète each()

La fonction each() a été officiellement obsolète dans PHP 7.2, ce qui a incité le besoin de mises à jour du code pour éviter les erreurs et maintenir les meilleures pratiques. Cet article fournit des conseils sur la façon de moderniser le code qui utilise actuellement each().

Exemples de code et de solutions :

Considérez les extraits de code suivants et leurs mises à jour correspondantes :

$ar = $o->me;
reset($ar);
list($typ, $val) = each($ar);

Mise à jour : Utilisez key() et current() pour la valeur affectation.

$ar = $o->me; // Reset no longer required
$typ = key($ar);
$val = current($ar);
$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = each($out);

Mise à jour : Utiliser key() et current() pour la récupération des éléments.

$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];
for(reset($broken);$kv = each($broken);) {...}

Mise à jour : Introduire une boucle foreach avec une valeur-clé manuelle affectation.

foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}
list(, $this->result) = each($this->cache_data);

Mise à jour : Attribue directement la valeur actuelle, avec l'avancement facultatif de next().

$this->result = current($this->cache_data);
// iterating to the end of an array or a limit > the length of the array
$i = 0;
reset($array);
while( (list($id, $item) = each($array)) || $i < 30 ) {
    // code
    $i++;
}

Mise à jour : Utiliser une boucle for pour le parcours avec une valeur-clé manuelle récupération.

reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}

En implémentant ces mises à jour, vous pouvez moderniser efficacement votre code et l'aligner sur les normes PHP actuelles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn