php ?foreach traverse des tableaux associatifs
Syntaxe de base de foreach
Nous avons appris à parcourir le tableau d'index d'indices consécutifs à travers le contenu du chapitre précédent. Cependant, nous avons constaté que nous ne pouvons pas parcourir de tableaux associatifs, ni de tableaux d'index avec des indices discontinus.
Eh bien, lorsque nous étudiions les boucles, il existait une boucle booléenne qui était spécifiquement utilisée pour parcourir les tableaux. La syntaxe de base de cette boucle est la syntaxe de base de foreach.
Le format de syntaxe est le suivant?:
foreach( 要循環(huán)的數(shù)組變量 as [鍵變量 =>] 值變量){ //循環(huán)的結(jié)構(gòu)體 }
Parcourir des tableaux associatifs
Il s'agit d'un usage fixe, mettez le tableau à boucler.
as est un mot-clé fixe. La variable clé après
est facultative. Vous pouvez définir une variable à volonté. Chaque fois qu'elle boucle, la syntaxe foreach retirera la clé et l'attribuera à la variable clé après ?. >. La variable valeur est obligatoire. à chaque boucle, la valeur est placée dans la variable value.
<?php $data = [ 'fj' => '鳳姐', 'fr' => '芙蓉', ]; foreach($data as $key => $value){ echo $key . '-------' . $value . '<br />'; } //如果我們只想讀取值的話,就可以把下面的$key => 給刪除掉,讀取的時候,就只讀取值了。做完上面的實驗,你可以打開下面的代碼再實驗幾次。 /* foreach($data as $value){ echo $value . '<br />'; } */ ?>Lan?ons-le et voyons les résultats?:
Parcourir le tableau d'index
foreach est assez facile à apprendre. Par conséquent, nous pouvons parcourir le tableau d'index continu via foreach, comme dans l'exemple suivant?:<?php $data = array( 0 => '中國', 100 => '美國', 20 => '韓國', 300 => '德國', ); //待會兒可以自己做做實驗,循環(huán)遍歷一下下面的這個數(shù)組 //$data = array(1,2,3,4,5,6,7,8,9,10); foreach($data as $k => $v){ echo $k . '------' . $v .'<br />'; } ?>Exécuter et voir les résultats?:
La différence réside dans le tableau d'index discontinu. Chaque fois qu'un élément du tableau est lu, l'indice de la boucle courante est affecté à la variable $k, et la valeur est affectée à la variable $v. La clé et la valeur sont sorties pour chaque lecture puis affichées. La boucle recule d'un index à la fois. Lisez jusqu'à la fin et quittez l'exécution.
Parcours de tableaux multidimensionnels
Comment devons-nous parcourir lorsqu'il y a un autre tableau dans le tableau?? Faisons une expérience?:<?php $data = array( 0 => array( '中國' => 'china', '美國' => 'usa', '德國' => ' Germany', ), 1 => array( '湖北' => 'hubei', '河北' => 'hebei', '山東' => 'shandong', '山西' => 'sanxi', ), ); //注:我們在使用foreach循環(huán)時,第一次循環(huán)將鍵為0和鍵為1的兩個數(shù)組賦值給一個變量($value)。然后,再套一個循環(huán)遍歷這個$value變量,$value中的值取出來,賦值給$k和$v。 foreach($data as $value){ //第一次循環(huán)把國家的數(shù)組賦值給了$value //第二次循環(huán)把中國的省份的數(shù)組又賦值給了$value //因此,我在循環(huán)的時候把$value再遍歷一次 foreach($value as $k => $v){ echo $k . '-----' . $v .'<br />'; } //為了看的更清晰,我在中間加上華麗麗的分割線方便你來分析 echo '----------分割線-----------<br />'; } ?>Le résultat est sorti?:
La première boucle sort de la boucle du sous-tableau et le code suivant est exécuté pour afficher la ligne de démarcation.
Et ainsi de suite pour le deuxième cycle.
Job
parcourt et affiche le tableau suivant :
<?php $arr=array( '教學(xué)部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), '宣傳部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), '財務(wù)部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), ); ?>
, l'effet est le suivant :
Résumé?:
1. Dans la première boucle, attribuez le tableau à $value, puis utilisez foreach pour boucler $value. Donnez la clé dans le sous-tableau bidimensionnel à $k et attribuez la valeur à la variable $v.
2. La première boucle sort de la boucle du sous-tableau et exécute le code suivant pour afficher la ligne de démarcation.
3. Et ainsi de suite, il en est de même pour le deuxième cycle.