Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation de chacun et de la liste en PHP

Explication détaillée de l'utilisation de chacun et de la liste en PHP

*文
*文original
2018-01-05 17:54:222220parcourir

Cet article présente principalement l'utilisation de each et list en PHP, analyse les compétences d'utilisation de each et list sous forme d'exemples, et analyse les compétences de chacune combinées avec la fonction list pour implémenter la traversée de tableaux Amis dans le besoin. peut s'y référer. J'espère que cela aide tout le monde.

1. Utilisation de chacun

Regardez d'abord l'API

tableau chacun (tableau &$array)

Ceci est décrit dans l'API : each — renvoie la paire clé/valeur actuelle dans le tableau et avance le pointeur du tableau d'un pas

Voyons d'abord à quoi ressemble le tableau renvoyé ?

<?php 
$arr = array(&#39;你&#39;,&#39;若&#39;,&#39;安&#39;,&#39;好&#39;,&#39;便&#39;,&#39;是&#39;,&#39;晴&#39;,&#39;天&#39;);
print_r(each($arr));
print_r(each($arr));
echo &#39;<hr />&#39;;
/*
返回
Array
(
  [1] => 你
  [value] => 你
  [0] => 0
  [key] => 0
)
Array
(
  [1] => 若
  [value] => 若
  [0] => 1
  [key] => 1
)
*/
//执行相同的一段代码,从‘你&#39;到‘若&#39;,说明each是会每执行一次,游标向数组尾部移动一步
//0和Key存放的是键
//1和value存放的是值
//因此each满足遍历数组的,得到当前的键和值,以及每执行一次,向尾部移动一步游标
//因此循环数组也可以用each这么写
reset($arr);
for(;$tmp=each($arr);){
  echo $tmp[0],&#39;~&#39;,$tmp[1],&#39;<br />&#39;;
}
/*
返回
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>

2. Utilisation de list

Regardons d'abord ce que dit l'API

Comme array(), ce n'est pas un vrai function , mais une structure de langage. list() attribue des valeurs à un ensemble de variables en une seule étape.

Regardons un exemple :

<?php 
list($a,$b)=array(10,20);
echo $a,&#39;~&#39;,$b,&#39;<br />&#39;;
//返回10~20
?>

Oui, vous pouvez attribuer des valeurs à un ensemble de variables

Regardons un autre exemple :

<?php 
list($a,$b,,$c)=array(2=>10,3=>20,4=>30,1=>40);
echo $a,&#39;~&#39;,$b,&#39;~&#39;,$c,&#39;<br />&#39;;
//返回notice~40~20
//执行到$a的时候返回给我一个notice:说数组没有0键
?>

Suivez L'idée générale devrait être de revenir : 10~20~40

Pourquoi cet avis~40~20 est-il retourné ?

Réponse : Cela implique le mécanisme de fonctionnement de la liste. C'est ainsi que la liste est attribuée.

Tout d'abord : ignorez le tableau de droite et regardez les variables dans la liste De. de gauche à droite, cela devrait être $a = arr[0] $b=arr[1] $c=arr[3]

Ensuite : commencez à attribuer des valeurs de droite à gauche, l'ordre d'affectation est $c=arr[3] $b=arr[1 ] $a=arr[0]

Donc $c=20 $b = 40 Parce qu'il n'y a pas d'arr[0], $a a donné un avertissement

3. Utilisez chaque implémentation de parcours de tableau avec liste

<?php 
$arr = array(&#39;你&#39;,&#39;若&#39;,&#39;安&#39;,&#39;好&#39;,&#39;便&#39;,&#39;是&#39;,&#39;晴&#39;,&#39;天&#39;);
for(;list($k,$v)=each($arr);){
  echo $k,&#39;~&#39;,$v,&#39;<br />&#39;;
}
/*
return:
0~你
1~若
2~安
3~好
4~便
5~是
6~晴
7~天
*/
?>

Recommandations associées :

Explication détaillée de la fonction d'autorisation de fichier PHP chmod

Explication détaillée de la façon dont PHP implémente le mécanisme Hook

Explication détaillée de l'utilisation de PHP pour trouver la sous-chaîne commune la plus longue de deux chaînes String

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