Liste PHP, chaque fonction parcourt le tableau
Étudions deux autres fonctions de tableau intéressantes. Ces deux fonctions ne sont pas difficiles à apprendre. Certains élèves rencontreront cependant quelques difficultés. La difficulté réside dans la recherche des caractéristiques de fonctionnement de la fonction liste et de chaque fonction.
fonction de liste
Parlons d'abord de la fonction de liste :
liste ( Mixed $variable1 [, Mixed $variablen ] )
Sa fonction : le tableau d'index d'indice 0 correspond à la variable 1, l'indice 1 correspond à la variable 2, et ainsi de suite.
Regardons cela à travers des expériences :
<?php list($one , $two , $three) = array('张三' ,'李四' ,'王五'); //再次声明:单引号不结释变量,所以输出的是字符串$one echo '$one----'.$one.'<br />'; echo '$two----'.$two.'<br />'; echo '$three----'.$three.'<br />'; ?>
Regardons les résultats expérimentaux :
Les résultats d'analyse sont comme le montre la figure :
Conclusion :
1. Attribuez Zhang San avec l'indice 0 à $one
2. Attribuez Zhang San avec l'indice 1 Li Si est affecté à $deux
3. Wang Wu avec l'indice 2 est affecté à $trois
Par conséquent, nous savons que la fonction de la liste est de gauche à droite, un par un Correspond à la valeur de l'indice commençant à 0 dans le tableau d'index.
Une autre utilisation de la liste :
<?php list( , , $three) = array('张三' ,'李四' ,'王五'); echo '$one----'.$one.'<br />'; echo '$two----'.$two.'<br />'; echo '$three----'.$three.'<br />'; ?>
Résultat de l'exécution :
Conclusion :
1.list Le premier et les deuxièmes places pour les variables sont laissées vides, je n'ai écrit que trois $.
2. Selon le principe de correspondance biunivoque, aucune variable ne peut correspondre à Zhang San et Li Si.
3. Ainsi, seul Wang Wu a une correspondance variable
N'oubliez pas strictement : le principe de correspondance biunivoque du tableau d'index. La première variable de la liste correspond à l'élément du tableau d'indice 0 et l'indice 1 correspond au deuxième élément du tableau de la liste.
Devinez quel est le résultat ci-dessous Pourquoi ?
<?php list($one, $two, $three) = array(2 => '张三', '李四', '王五'); echo '$one----' . $one . '<br />'; echo '$two----' . $two . '<br />'; echo '$three----' . $three . '<br />'; ?>
Les résultats en cours sont les suivants :
Résumé :
1. En raison du principe de correspondance un-à-un, $one est introuvable. Pour l'élément de tableau marqué par 0, $two ne peut pas trouver l'élément de tableau avec l'indice 1. Seul $trois trouve l'élément de tableau avec l'indice 2
3. Dans la liste ($one , deux $, trois $), je n'ai écrit que trois variables. La correspondance est terminée, il n'est pas nécessaire de faire correspondre les variables suivantes et Li Si et Wang Wu sont écartés.
chaque fonction
la régularité de chaque fonction est plus distinctive et intéressante.
tableau chacun (tableau &$array)
Fonction : Passer un tableau. Cela divisera l'un des éléments dans un nouveau tableau. Faites cela un élément à la fois. Déplacez-vous une fois et utilisez l'élément suivant du tableau de la même manière. Exécuter jusqu'à la fin et renvoyer false.
Voyons d'abord comment chacun fonctionne sur les éléments du tableau.
<?php //定义一个变量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特别长特别细', 'mei'=>'好白', 'pl'=>'五官端正', 'type'=>'那就是女神', '我是吊丝不敢跟女神搭讪' ]; //第一次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; ?>
Jetons un coup d'œil au résultat de chaque exécution pour la première fois :
Résumé :
Lisez le premier dans $kongjie. éléments, décomposez le premier élément ('gao'=>'en vêtements noirs').
1 Après décomposition, le premier élément devient un nouveau tableau.
2Dans le nouveau tableau, mettez la valeur d'origine (celle en vêtements noirs) dans l'indice d'index 1, et en même temps mettez-la dans la valeur d'indice associée.
3. Dans le nouveau tableau, placez la clé d'origine (gao) dans la clé d'indice associée et dans l'indice d'index 0.
Nous utilisons des images pour le représenter :
De cette façon, nous pouvons le comprendre immédiatement.
Parlons ensuite d’une autre fonctionnalité de chacun. Lisez une fois et déplacez un élément vers l'arrière.
<?php //定义一个变量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特别长特别细', 'mei'=>'好白', ]; //第一次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----华丽丽分割线------<br />'; //第2次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----华丽丽分割线------<br />'; //第3次each【执行到了最后一个元素了】 $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----华丽丽分割线------<br />'; //第4次【此时,后面已没有可操作的元素了,看返回什么】 $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----华丽丽分割线------<br />'; ?>
Résultat de l'exécution :
Résumé :
1. Lisez une fois et reculez une fois [Vous pouvez imaginer qu'il y a un enregistrement arrow in Move], démontez chaque élément dans un nouveau tableau
2. En fin de lecture, il n'y a aucun élément exploitable, donc false est renvoyé.
Liste et chacun coopère
Nous connaissons les caractéristiques de la liste et les caractéristiques de chacun. La liste peut-elle être combinée avec chacune pour effectuer certains travaux ?
list($key,$value) = each($array);
Regardons l'image mentionnée précédemment :
La première variable de la liste recherchera l'élément avec l'indice 0 ci-dessous pour attribuer une valeur, et la deuxième variable recherchera l'élément avec l'indice 1 pour attribuer une valeur à la variable.
Regardons l'exemple suivant :
<?php //定义一个变量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'腿特别长特别细', 'mei'=>'好白', ]; list($key,$value) = each($kongjie); echo $key. '-----' .$value .'<br />'; ?>
Les résultats en cours d'exécution sont les suivants :
Résumé :
1.each Divisez la variable en 4 éléments
2. La liste attribue 0 =>gao à la variable $key
3. La liste attribue 1 => porter des vêtements noirs à The variable $valeur
each renverra false à la fin, je peux donc utiliser une boucle booléenne while pour terminer la boucle du tableau.
Modifiez doucement le code ci-dessus pour obtenir l'effet suivant :
<?php //定义一个变量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特别长特别细', 'mei'=>'好白', ]; while(list($key,$value) = each($kongjie)){ echo $key. '-----' .$value .'<br />'; } ?>
Démonstration d'exécution :
Résumé :
1. Bouclez une fois, exécutez chacune une fois, exécutez le code, puis déplacez un élément vers l'arrière
2. Revenez à fasle à la fin de l'exécution, donc l'exécution s'arrête.
3. Le même effet que foreach peut être obtenu en combinant each et list.
Devoirs :
Utilisez list et each pour parcourir et afficher le tableau suivant :
<?php $arr=array( '教学部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '宣传部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '财务部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), ); ?>
L'effet est le suivant :
<. 🎜>