Tatasusunan lintasan
Melintasi tatasusunan berangka
Melintasi semua elemen dalam tatasusunan ialah operasi biasa dan pertanyaan atau fungsi lain boleh diselesaikan semasa proses traversal.
<1> Gunakan struktur untuk melintasi tatasusunan
Contoh
<?php //声明一个数组,值为1到10 $num = array(1,2,3,4,5,6,7,8,9,10); //按照索引数组的特点,下标从0开始。所以1的下标为0,10的下标为9 echo $num[0].'<br />'; echo $num[9].'<br />'; //我们可以得到数组中元素的总个数,为10 echo count($num); //遍历这个索引数组的话,我们就可以定义一个变量为$i //$i 的值为0,从0开始 //可以设定一个循环条件为:$i 在下标的(9)最大值之内循环 for($i = 0 ; $i < count($num) ; $i++){ echo $num[$i].'<br />'; } ?>
boleh melengkapkan traversal tatasusunan.
Bermula dari 0, takrifkan $i=0. Biarkan $i meningkat sebanyak 1 setiap kali ia gelung, tetapi ia mestilah kurang daripada 10, kerana nilai maksimum subskrip tatasusunan ialah 9.
Dengan cara ini, kami telah belajar untuk melintasi tatasusunan subskrip berturut-turut yang diindeks.
<2> Gunakan struktur foreach untuk melintasi tatasusunan
Gelung for boleh melintasi tatasusunan indeks subskrip berturut-turut. Walau bagaimanapun, kami mendapati bahawa kami tidak boleh melintasi tatasusunan bersekutu, dan kami juga tidak boleh melintasi tatasusunan indeks dengan subskrip terputus.
Nah, semasa kita belajar tentang gelung, terdapat gelung Boolean yang digunakan khusus untuk menggelung melalui tatasusunan. Sintaks asas gelung ini ialah sintaks asas foreach.
Format sintaks adalah seperti berikut:
foreach(pembolehubah tatasusunan untuk digelung sebagai [pembolehubah kunci=>] pembolehubah nilai){
//Struktur gelung
}
Traverse associative array
<?php $data = [ 'fj' => '凤姐', 'fr' => '芙蓉', ]; foreach($data as $key => $value){ echo $key . '-------' . $value . '<br />'; } //如果我们只想读取值的话,就可以把下面的$key => 给删除掉,读取的时候,就只读取值了。做完上面的实验,你可以打开下面的代码再实验几次。 /* foreach($data as $value){ echo $value . '<br />'; } */ ?>
Traverse index array
Kita boleh melintasi berturut-turut melalui tatasusunan Indeks foreach, seperti dalam contoh berikut:
<?php $data = array( 0 => '中国', 100 => '美国', 20 => '韩国', 300 => '德国', ); //待会儿可以自己做做实验,循环遍历一下下面的这个数组 //$data = array(1,2,3,4,5,6,7,8,9,10); foreach($data as $k => $v){ echo $k . '------' . $v .'<br />'; } ?>
Melintasi tatasusunan berbilang dimensi
<?php $data = array( 0 => array( '中国' => 'china', '美国' => 'usa', '德国' => ' Germany', ), 1 => array( '湖北' => 'hubei', '河北' => 'hebei', '山东' => 'shandong', '山西' => 'sanxi', ), ); //注:我们在使用foreach循环时,第一次循环将键为0和键为1的两个数组赋值给一个变量($value)。然后,再套一个循环遍历这个$value变量,$value中的值取出来,赋值给$k和$v。 foreach($data as $value){ //第一次循环把国家的数组赋值给了$value //第二次循环把中国的省份的数组又赋值给了$value //因此,我在循环的时候把$value再遍历一次 foreach($value as $k => $v){ echo $k . '-----' . $v .'<br />'; } //为了看的更清晰,我在中间加上华丽丽的分割线方便你来分析 echo '----------分割线-----------<br />'; } ?>
Ringkasan:
1 gelung, tetapkan tatasusunan Diberi $value, kemudian gunakan foreach untuk menggelungkan $value. Berikan kunci dalam subarray dua dimensi kepada $k dan tetapkan nilai kepada pembolehubah $v.
2. Gelung pertama keluar dari gelung sub-tatasusunan, dan kod seterusnya dilaksanakan untuk memaparkan garis pembahagi.
3. Dan seterusnya, perkara yang sama berlaku untuk kitaran kedua.