Sont PHP les variables déclarées à l'intérieur d'une boucle foreach détruit et recréé à chaque itération?

Si je déclare une variable à l'intérieur d'une boucle foreach, tels que:

foreach($myArray as $myData) {
    $myVariable = 'x';
}

N'PHP détruire, et recrée à chaque itération ? En d'autres termes, serait-il plus intelligent de performance à faire:

$myVariable;
foreach($myArray as $myData) {
    $myVariable = 'x';
}

Merci d'avance pour vos idées.

peut être comme le global et le local et variable
Non, il n'en est rien; et la variable existe toujours à l'extérieur de la boucle bafter vous avez fini de l'itération. Il n'est "détruit" lorsque vous quittez la fonction de l'endroit où la boucle est définie.... même votre $myData variable continue d'exister après la boucle est terminée, le maintien de la valeur du dernier élément de $myData.... cela peut être particulièrement difficile si vous l'avez déjà utilisé par référence
Variable peut être _destroyed par unsetting.
Les Variables en PHP sont ni détruits ni créé. Ils ont peut-être pas défini, mais qui ne sont pas PHP empêcher de les utiliser. Aussi les règles communes à la portée appliquer, et foreach est rien de spécial ici.

OriginalL'auteur Alexandre Bourlier | 2012-11-29