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

Comment remplacer la fonction obsolète `each()` de PHP ?

Barbara Streisand
Libérer: 2024-12-20 15:01:11
original
807 Les gens l'ont consulté

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

Mise à niveau du code de la fonction each() obsolète

PHP 7.2 a rendu obsolète la fonction each(), provoquant des avertissements lors de son utilisation. Cet article explique comment moderniser votre code et éviter d'utiliser each().

Exemples de cas

Voici plusieurs exemples où each() a déjà été utilisé :

  1. Attribuer des valeurs avec reset() et list() :

    $ar = $o->me;
    reset($ar);
    list($typ, $val) = each($ar);
    Copier après la connexion
  2. Attribution directe de valeurs :

    $out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
    $expected = each($out);
    Copier après la connexion
  3. Itération incorrecte dans un tableau :

    for(reset($broken);$kv = each($broken);) {...}
    Copier après la connexion
  4. Ignorer la clé dans une liste() affectation :

    list(, $this->result) = each($this->cache_data);
    Copier après la connexion
  5. Itération incorrecte avec les contrôles de longueur :

    reset($array);
    while( (list($id, $item) = each($array)) || $i < 30 ) {
     // code
     $i++;
    }
    Copier après la connexion

Code mis à jour

1. Attribution de valeurs

Remplacer par key() et current() :

$ar = $o->me;
$typ = key($ar);
$val = current($ar);
Copier après la connexion

2. Affectation directe

Remplacer par une clé et une valeur de tableau explicites :

$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];
Copier après la connexion

3. Itération correcte

Utilisez foreach() et attribuez la paire clé-valeur à l'intérieur de la boucle :

foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}
Copier après la connexion

4. Clé Ignorer

Attribuer directement la valeur actuelle :

$this->result = current($this->cache_data);
Copier après la connexion

5. Itération de tableau avec vérifications

Remplacer par une boucle for() traditionnelle :

reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal