Entrer en mode plein écran Quitter le mode plein écran
Ça marche. Ça marche. Cela semble bien lors de la révision du code. Et il contient un bug subtil qui attend de se produire.
Le problème avecréinitialiser()etfin()
Les deux fonctions déplacent le pointeur de tableau interne de PHP comme effet secondaire.
Les tableaux PHP ont un curseur caché qui suit "la position actuelle" dans le tableau. Des fonctions commeactuel(),suivant(),précédent(), etchaque()cela dépend de l'endroit où se trouve ce curseur.réinitialiser()le déplace vers le premier élément.fin()le déplace vers le dernier.
Ceci est inoffensif dans un script isolé. Mais dans une application réelle, le même tableau passe souvent par plusieurs fonctions — et toute fonction qui s'appuie sur la position du curseur après votre appel obtiendra des résultats inattendus.
Voici un exemple concret :
function getFirstActiveOrder(array $orders): ?array { // Déplace le pointeur vers le premier élément $first = reset($orders); foreach ($order as $order) { if ($order['status'] === 'active') { return $order; } } renvoie null ; }
Entrer en mode p... [Courte citation de 8% de l'article original]
Loading...
🍪
Le modèle économique de notre site repose sur l'affichage de publicités personnalisées basées sur l'utilisation de cookies publicitaires. En continuant votre visite sur notre site, vous consentez à l'utilisation de ces cookies.
Politique de confidentialité