Maison >développement back-end >tutoriel php >Résumé de 3 méthodes de boucle PHP à travers les tableaux list(), each() et while
Cet article présente principalement le résumé des trois méthodes list(), each() et while de PHP bouclant à travers des tableaux. Cet article se concentre sur l'utilisation mixte de ces trois méthodes. Les amis qui en ont besoin peuvent se référer. it
①each() fonction
each() la fonction doit passer un tableau en paramètre, renvoyer la paire clé/valeur de l'élément actuel dans le tableau, et déplacez le pointeur du tableau vers l'arrière jusqu'à la position suivante d'un élément. Les paires clé/valeur sont renvoyées sous la forme d'un tableau associatif et indexé mixte avec 4 éléments, avec les clés 0, 1, clé et valeur. Le nom de clé 0 est identique à la valeur correspondant à key, qui est le nom de clé de l'élément du tableau, tandis que 1 et value contiennent la valeur de l'élément du tableau. Si le pointeur interne dépasse la fin du tableau, each() renvoie FALSE. L'utilisation de la fonction each() est la suivante :
Copier le code Le code est le suivant :
<?php $contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",); $id = each($contact); //返回数组$contact中第一个元素的键/值对,是带有4个元素的数组 print_r($id); //输出数组$id:Array([1]=>1,[value]=>1,[0]=>ID,[key]=>ID) $name = each($contact); //返回数组$contact中的第二个元素的键/值对,是带有4个元素的数组 print_r($name); //输出Array([1]=>高某,[value]=>高某,[0]=>姓名,[key]=>姓名) $company = each($contact); print_r($company); //输出Array([1]=>A公司,[value]=>A公司,[0]=>公司,[key]=>公司) $address = each($contact); print_r($address); //输出Array([1]=>北京市,[value]=>北京市,[0]=>地址,[key]=>地址) $no = each($contact); var_dump($no); //输出bool(false) ?>
②fonction list()
Ceci n'est pas une vraie fonction, mais une construction du langage PHP. list() attribue des valeurs à un ensemble de variables en une seule étape, c'est-à-dire attribue les valeurs du tableau à certaines variables. list() ne peut être utilisé qu'avec des tableaux indexés numériquement et suppose que les indices des tableaux commencent à 0. Le format de syntaxe est le suivant :
Copier le code Le code est le suivant :
list(mixed varname,mixed…) = array_expression
Il y a une grande différence dans l'utilisation de list( ) et d'autres fonctions, ne reçoit pas directement un tableau en paramètre. Au lieu de cela, la valeur de chaque élément du tableau est affectée à chaque paramètre de la fonction list() via une affectation à l'aide de l'opérateur "=". La fonction list() convertit à son tour chaque paramètre en une variable qui peut être utilisée directement dans le script. L'utilisation est la suivante :
Copiez le code Le code est le suivant :
<?php $info = array('coffee','brown','caffeine'); list($drink,$color,$power) = $info; list($drink,,$power) = $info; //变量的值是数组中第一个和第三个值 list( , ,$power) = $info; //变量值是数组中第三个元素的值 ?>
Après avoir compris l'utilisation de la fonction list() via Dans l'exemple ci-dessus, remplacez la fonction each() Utilisée conjointement avec la fonction list(). Le code est le suivant :
Copier le code Le code est le suivant :
<?php $contact = array("ID" => 1,"姓名" => "高某","公司" => "A公司","地址" => "北京市",); list($key,$value) = each($contact); echo "$key => $value"; //输出变量$key和$value,中间使用“=>”分割 ?>
③while la boucle parcourt le tableau
comme introduit précédemment Avec l'utilisation des instructions each() et list(), il n'est pas difficile de comprendre comment utiliser une boucle while pour parcourir un tableau. Le format de syntaxe utilisé est le suivant :
Copier le code Le code est le suivant :
while(list($key,$value) = each(array_expression)){ 循环体 }
Ce format d'union traverse le tableau array_expression donné. Dans chaque boucle de l'instruction while(), l'instruction each() attribue la clé de l'élément actuel du tableau à la première variable paramètre $key de la fonction list(). Et attribuez la valeur dans l'élément actuel du tableau à la deuxième variable paramètre $value dans la fonction list(), et après l'exécution de l'instruction each(), le pointeur à l'intérieur du tableau sera reculé d'un pas, donc la prochaine fois while( ) Lorsque l'instruction boucle, la paire clé/valeur de l'élément suivant du tableau sera obtenue. Jusqu'à la fin du tableau, l'instruction each() renvoie FALSE et l'instruction while() arrête la boucle et termine le parcours du tableau.
Copier le code Le code est le suivant :
<?php $contact = array( "ID" => 1, "姓名" => "高某", "公司" => "A公司", "地址" => "北京市", "电话" => "(010)98765432", "EMAIL" => "gao@brophp.com", ); //以HTML列表的方式输出数组中每个元素的信息 echo '<dl>一个联系人信息:'; while(list($key,$value) = each($contact)){ echo "<dd>$key : $value</dd>"; } echo '</dl>'; ?>
Vous pouvez également imbriquer et parcourir des tableaux multidimensionnels de la même manière. Bien que les résultats de la traversée du tableau soient les mêmes que ceux de l'instruction freach, il existe des différences entre les deux méthodes. Après avoir utilisé l'instruction while pour parcourir le tableau, l'instruction each() a pointé le pointeur interne du paramètre de tableau passé vers la fin du tableau. Lorsque l'instruction while est utilisée pour parcourir à nouveau le même tableau, le pointeur du tableau est déjà à la fin du tableau et l'instruction each() renvoie directement FALSE, et l'instruction while ne sera pas exécutée dans la boucle. Appelez uniquement la fonction reset() avant l'exécution de l'instruction while pour réinitialiser le pointeur du tableau sur le premier élément. L'instruction foreach réinitialisera automatiquement la position du pointeur du tableau. Lorsque foreach commencera à s'exécuter, le pointeur à l'intérieur du tableau pointera automatiquement vers la première unité. Cela signifie qu'il n'est pas nécessaire d'appeler la fonction reset() avant la boucle foreach.
Recommandations associées :
Explication détaillée de la méthode de déclaration d'encodage de page PHP (en-tête ou méta)
php dans le code de fonction Arrondi (fonction plancher, fonction plafond, arrondi et intval)
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!