Maison  >  Article  >  développement back-end  >  Comment utiliser et prêter attention au mot-clé foreach en PHP

Comment utiliser et prêter attention au mot-clé foreach en PHP

王林
王林original
2023-06-28 19:36:561314parcourir

Comment utiliser et prêter attention au mot-clé foreach en PHP

En PHP, foreach est un mot-clé très pratique, utilisé pour parcourir des tableaux et des objets. Il peut parcourir chaque élément d'un tableau ou chaque propriété d'un objet. Ce qui suit présentera en détail l’utilisation et les précautions de foreach.

  1. Array traversal
    Lorsque vous utilisez foreach pour parcourir un tableau, la syntaxe est la suivante :

    foreach ($array as $value) {
     // 循环体
    }

    où $array est le nom du tableau à parcourir et $value est la valeur de chaque élément obtenu lors du parcours processus. Dans le corps de la boucle, l'élément actuel peut être traité ou sorti.

En plus de $value, vous pouvez également utiliser la variable $key, qui représente la clé de l'élément actuel :

foreach ($array as $key => $value) {
    // 循环体
}

De cette façon, vous pouvez obtenir la clé et la valeur de l'élément du tableau en même temps.

  1. Parcours d'objets
    En plus des tableaux, foreach peut également être utilisé pour parcourir les propriétés des objets. La méthode d'accès aux propriétés de l'objet est différente de celle des éléments du tableau, et vous devez utiliser l'opérateur flèche (->) :

    foreach ($object as $property) {
     // 循环体
    }

    Dans le corps de la boucle, $property représente chaque propriété de l'objet.

Semblable au parcours de tableau, vous pouvez utiliser la variable $key pour obtenir le nom de l'attribut :

foreach ($object as $name => $property) {
    // 循环体
}

De cette façon, vous pouvez obtenir le nom et la valeur de l'attribut de l'objet en même temps.

  1. Remarques
    Lors de l'utilisation de foreach, vous devez faire attention aux points suivants :
  2. foreach ne peut parcourir que des objets itérables, tels que des tableaux et des objets qui implémentent l'interface Iterator
  3. Pendant le processus de boucle, les objets parcourus ou ; tableaux Il ne peut pas être modifié, sinon cela entraînerait des résultats erronés ;
  4. Dans les versions antérieures à PHP5, foreach parcourt une copie du tableau, pas le tableau d'origine. Cela signifie que lorsque le tableau est modifié dans la boucle, le tableau d'origine n'est pas affecté. Mais en PHP5 et supérieur, le tableau d'origine sera modifié directement ;
  5. Si vous devez modifier le tableau dans une boucle et souhaitez accéder aux résultats modifiés en dehors de la boucle, vous pouvez utiliser des références (&) pour parcourir les éléments du tableau, tels que : `
    foreach ($array as &$value) {
    // Corps de la boucle
    }
在这种情况下,$value变量就是原始数组元素的引用,对$value的修改会直接影响到原始数组。

除了遍历数组和对象,foreach还可以遍历其他可迭代的数据结构,如SplFixedArray、SplQueue等。这些数据结构都实现了Iterator接口,因此可以直接使用foreach进行遍历。

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!

Déclaration:
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