recherche
  • Se connecter
  • S'inscrire
Réinitialisation du mot de passe réussie

Suivez les projets qui vous intéressent et découvrez les dernières actualités les concernant.

modifier pour chaque


1. La boucle foreach() ne fonctionne plus sur les pointeurs internes du tableau.

$array = [0, 1, 2];
foreach ($array as &$val) 
{
    var_dump(current($array));
}
Le résultat de l'opération PHP7 affichera int(0) trois fois, ce qui signifie que le pointeur interne du tableau n'a pas changé.

Les résultats de l'exécution précédente imprimeront int(1), int(2) et bool(false)

2. Lors d'une boucle selon la valeur, foreach est une opération de copie du tableau

Lorsque foreach boucle selon la value ( by-value), foreach opère sur une copie du tableau. De cette façon, les modifications apportées au tableau pendant la boucle n'affecteront pas le comportement de la boucle.
$array = [0, 1, 2];
$ref =& $array; // Necessary to trigger the old behavior
foreach ($array as $val) {
    var_dump($val);
    unset($array[1]);
}
Bien que le code ci-dessus désactive le deuxième élément du tableau dans la boucle, PHP7 affichera toujours les trois éléments : (0 1 2)

L'ancienne version de PHP sauterait 1 et n'imprimerait que ( 0 2).

3. Lors d'une boucle basée sur des références, les modifications apportées au tableau affecteront la boucle.

Si vous utilisez des références lors d'une boucle, les modifications apportées au tableau affecteront le comportement de la boucle. Cependant, la version PHP7 optimise la maintenance des emplacements dans de nombreux scénarios. Par exemple, ajouter des éléments à un tableau lors d'une boucle.

$array = [0];
foreach ($array as &$val) {
    var_dump($val);
    $array[1] = 1;
}

Les éléments ajoutés dans le code ci-dessus participeront également à la boucle, donc PHP7 imprimera "int(0) int(1)", et l'ancienne version n'imprimera que "int(0)".

4. Boucle sur des objets simples (non traversables).

Une boucle sur des objets simples, qu'il s'agisse d'une boucle par valeur ou d'une boucle par référence, se comporte de la même manière qu'une boucle par référence dans un tableau. Cependant, la gestion des emplacements sera plus précise.

5. Le comportement des objets Traversable est le même qu'avant.

Note de l'éditeur : explication de stackoverflow ci-dessus : l'objet Traversable est celui qui implémente l'interface Iterator ou IteratorAggregate. Si un objet implémente l’interface itérateur ou IteratorAggregate, il peut être appelé objet itérateur.

Outils d'IA chauds
Undress AI Tool
Undress AI Tool

Images de déshabillage gratuites

AI Clothes Remover
AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undresser.AI Undress
Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

Stock Market GPT
Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outil populaire
Bloc-notes++7.3.1
Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6
Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac
SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)