Dans l'article précédent "Comment parcourir les éléments d'un tableau dans l'apprentissage des tableaux PHP ?" Dans "Une brève analyse de 4 méthodes", nous avons présenté 4 méthodes de parcours de tableaux en PHP. Continuons à comprendre le parcours et vous présentons comment les objets PHP sont parcourus. Vous pouvez vous y référer si nécessaire.
Tout d'abord, comprenons ce qu'est la traversée d'objet : elle fait principalement référence à la traversée des attributs visibles de l'extérieur de l'objet (c'est-à-dire les attributs déclarés par le restricteur d'accès public).
Alors comment traverser des objets ? Une méthode courante de traversée d’objets consiste à utiliser l’instruction foreach. C'est vrai, utilisez simplement l'instruction foreach (n'est-elle pas très puissante, les tableaux et les objets peuvent être parcourus).
L'instruction foreach a en effet été conçue pour parcourir des tableaux au début, mais à partir de PHP5, elle ajoute de nouvelles fonctionnalités : elle peut également traverser des objets. L'instruction foreach a le même format de syntaxe pour parcourir les tableaux et les objets. Il existe deux formats :
//语法格式1 foreach ($object as $value){ 语句块; } //语法格式2 foreach ($object as $key => $value){ 语句块; }
Les deux formats sont en fait très similaires. La seule différence est : lors de la traversée de l'objet $objec
dans . Format de syntaxe 1, attribuez la "valeur d'attribut membre" de l'objet actuel à $value
dans chaque boucle et dans le $objec
对象时,在每次循环中将当前对象的“成员属性值”赋给 $value
;而语法格式2中,遍历$objec
对象时,在每次循环中会将当前对象的“成员属性值”赋给 $value
,“成员属性名”赋给 $key
。
下面我们通过代码示例来看看foreach语句是如何遍历对象的。
我们定义一个类,将类实例化成对象:
<?php header("Content-type:text/html;charset=utf-8"); class Demo //定义一个类 { public $name; //定义变量--成员属性 public $age; //定义变量--成员属性 public $salary; //定义变量--成员属性 public function __construct($name,$age,$salary) //定义函数--成员方法 { $this->name = $name; $this->age = $age; $this->salary = $salary; } } //实例化对象 $obj = new Demo('李华', 25, 4200); ?>
使用foreach语句遍历对象
foreach ($obj as $value) { echo $value.'<br>'; }
我们来看看输出:
是不是很简单。在实例化对象后,直接使用foreach ($obj as $value)
语句就可以获得$obj
Format de syntaxe 2
$objec
. objet, dans chaque Dans cette boucle, la "valeur d'attribut membre" de l'objet actuel sera attribuée à $value
, et le "nom d'attribut membre" sera attribué à $key</ code>. <p></p>Voyons comment l'instruction foreach traverse les objets à travers des exemples de code. <p><br/>Nous définissons une classe et instancions la classe dans un objet :</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">foreach ($obj as $key=>$value)
{
echo $key.&#39;=>&#39;.$value.&#39;<br>&#39;;
}</pre><div class="contentsignin">Copier après la connexion</div></div><p>Utilisez l'instruction foreach pour parcourir l'objet<img src="https://img.php.cn/upload/image/306/192/889/1628221533590299.png" title="1628221533590299.png" alt="PHP Loop Learning 6 : Comment parcourir des objets">rrreee</p>Jetons un œil au résultat :<p><a href="https://www.php.cn/course/list/29.html" target="_blank"><img src="https://img.php%20.cn/upload/image%20/140/135/551/162822306980203PHP%20Loop%20Learning%206%C2%A0:%20Comment%20parcourir%20des%20objets" title="162822306980203PHP Loop Learning 6 : Comment parcourir des objets" alt="PHP Loop Learning 6 : Comment parcourir des objets"></a></p>N'est-ce pas très simple. Après avoir instancié l'objet, utilisez directement l'instruction <code>foreach ($obj as $value)
pour obtenir toutes les propriétés visibles dans l'objet $obj
. Seule la « valeur de l'attribut membre » est obtenue ci-dessus. Parfois, nous devons obtenir les valeurs « nom de l'attribut membre » et « valeur de l'attribut membre » ensemble, afin que nous puissions utiliser le deuxième format de l'instruction foreach : rrreee Jetons un coup d'œil au résultat :
🎜🎜🎜🎜C'est tout. Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →🎜Tutoriel vidéo PHP🎜🎜🎜🎜Recommandation :🎜"🎜Collection de questions d'entretien PHP (collection)🎜"🎜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!