foreach遍歷專題


foreach

我們在使用foreach遍歷數組時,往往忘了無從下手,介紹一下常用的foreach操作。當然,我們要知道foreach的原理:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

舉一反三

如果我們又想得到將一個二維數組轉化成一個表格,又該怎么辦呢?

 

<?php

header("Content-type:text/html;Charset=utf-8");

$arr=array

         (

                   'stu0'=>array

                            (

                                     'name'=>'zhangsan',

                                    'age'=>30,

                                    'sex'=>'woman'

                            ),

                   'stu1'=>array

                            (

                                     'name'=>'lisi',

                                    'age'=>20,

                                    'sex'=>'man',

                            ),

                   'stu2'=>array

                            (

                                     'name'=>'lisi',

                                    'age'=>20,

                                    'sex'=>'man',

                            )

         );

         /*var_dump($arr);*/

 

$str="<table width=500 border=1 align=center rules=all>";

         $str.="<tr align=center><th>序號</th><th>姓名</th><th>年齡</th><th>性別</th></tr>";

         $i=1;

         foreach ($arr as  $value1) {

                            $str.="<tr align=center><td>$i</td>";

                            foreach ($value1 as $value2) {

                                     $str.="<td>$value2</td>";

                            }

                            $str.="</tr>";

                            $i++;

         }

$str.="</table>";

echo $str;

?>

 

驗證碼

 

對此我們應該還在里面加入一個判斷

當然,我們在用foreach時候也會用到其他的一些如for循環,while+each+list

For

<?php

// 設置響應頭格式

header("Content-type:text/html;Charset=utf-8");

// 顯式的創建一個數組

$arr = array(

         'name'      =>     '鳴人',

         'home'      =>     '木葉',

         'skill'          =>     '螺旋丸',

         'teacher'=>       '卡卡西',

         'wife'         =>     '雛田',

);

echo '<pre>';

next($arr);

// 用for循環實現數組的遍歷

for($i=1,$num=count($arr),reset($arr);$i<=$num;$i++) {//$i代表循環的次數

         // 獲取當前元素的鍵

         $key = key($arr);

         // 獲取當前元素的值

         $value = current($arr);

         // 對當前元素進行相關的操作

         var_dump($key,$value);

         // 數組指針位置下移

         next($arr);

}

for循環遍歷,只適合索引數組,因為,我們都是先得到數組的下標,然后再利用下標去訪問數組的元素,但是,從邏輯上來說,下標是數組的一部分,一定是先有元素,才得到元素的下標!

 

所以,上面的for循環遍歷數組,不是真正意義上的數組的遍歷

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM