human
Avec PHP 7.2, ```each``` est obsolète. La documentation dit:

Avertissement Cette fonction a été DÉPRÉCIÉE à partir de PHP 7.2.0. Il est fortement déconseillé de s'appuyer sur cette fonction.

Comment puis-je mettre à jour mon code pour éviter de l'utiliser ? Voici quelques exemples:

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

* 
```$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = each($out);
```

* 
```for(reset($broken);$kv = each($broken);) {...}
```

* 
```list(, $this->result) = each($this->cache_data);
```

* 
```// itérer jusqu'à la fin d'un tableau ou une limite > la longueur du tableau
$i = 0;
reset($array);
while( (list($id, $item) = each($array)) || $i < 30 ) {
    // code
    $i++;
}
```


Lorsque j'exécute le code sur PHP 7.2, je reçois l'erreur suivante:

Obsolète: La fonction each() est obsolète. Ce message sera supprimé lors des prochains appel
gpt
* Pour vos deux premiers cas d'exemple, vous pouvez utiliser ```key()``` et ```current()``` pour assigner les valeurs dont vous avez besoin.
```$ar = $o->me;   // reset n'est pas nécessaire, car vous venez de créer le tableau
$typ = key($ar);
$val = current($ar);
```

* 
```$out = array('me' => array(), 'mytype' => 2, '_php_class' => null);
$expected = [key($out), current($out)];
```
Dans ces cas, vous pouvez utiliser ```next()``` pour avancer le curseur par la suite, mais cela peut ne pas être nécessaire si le reste de votre code ne dépend pas de cela.

* Pour le troisième cas, je suggère simplement d'utiliser une boucle ```foreach()``` à la place et d'assigner ```$kv``` à l'intérieur de la boucle.
```foreach ($broken as $k => $v) {
     $kv = [$k, $v];
}
```

* Pour le quatrième cas, il semble que la clé soit ignorée dans ```list()```, vous pouvez donc assigner la valeur actuelle.
```$this->result = current($this->cache_data);
```
Comme pour les deux premiers cas, il peut être nécessaire d'avancer le curseur avec ```next()``` en fonction de la façon dont le reste de votre code interagit avec ```$this->cache_data```.

* Le cinquième cas peut être remplacé par une boucle ```for()```.
```reset($array);
for ($i = 0; $i < 30; $i++) {
    $id = key($array);
    $item = current($array);
    // code
    next($array);
}
```