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 :

QQ截图20161114132308.png

Les résultats d'analyse sont comme le montre la figure :

document_2015-09-03_55e8466feae5c.png

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 :

QQ截图20161114132428.png

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 :

QQ截图20161114132543.png

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 :

QQ截图20161114133313.png

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 :

document_2015-09-03_55e84f4676360.png

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 :

QQ截图20161114133417.png

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 :

11.png

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 :

QQ截图20161114133523.png

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 :

QQ截图20161114133617.png

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 :

44.png<. 🎜>

Formation continue
||
<?php $arr=array( '教学部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '宣传部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), '财务部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('张某','21','妖人'), ), ); ?>
soumettreRéinitialiser le code
  • Recommandations de cours
  • Téléchargement du didacticiel