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【執(zhí)行到了最后一個元素了】 $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?:
<. ??>