php遍曆數組的幾種方法(for foreach list each while)

來源:互聯網
上載者:User
  1. $arr = array('http://bbs.it-home.org','程式員之家','php教程');
  2. $num = count($arr);
  3. for($i=0;$i<$num;++$i){
  4. echo $arr[$i].'
    ';
  5. }
  6. ?>
複製代碼

注釋:先計算出數組$arr中元素的個數,然後才使用在for語句,這樣做很高效的。如果是for($i=0;$i< count($arr);++$i)的話,每次迴圈都會計算數組$arr中元素的個數,而使用上面的方式可以減去這種開銷。使用++$i也是為了提高效率。輸出結果:http://bbs.it-home.org程式員之家PHP教程

二、foreach語句遍曆數組使用foreach語句迴圈遍曆數組有二種方式,我們使用的最多的還是第一種方式。介紹如下:第一種方式:foreach(array_expression as $value){//迴圈體}例子:

  1. $arr = array('http://bbs.it-home.org','程式員之家','PHP教程');
  2. foreach($arr as $value){
  3. echo $value.'
    ';
  4. }
  5. ?>
複製代碼

每次迴圈中,當前元素的值被賦給變數$value,並且把數組內部的指標向後移動一步。所以下一次迴圈中會得到數組的下一個元素,直到數組的結尾才停止迴圈,結束數組的遍曆。

第二種方式:foreach(array_expression as $key=>$value){//迴圈體}

例子:

  1. //定義數組
  2. $arr = array('http://bbs.it-home.org','程式員之家','PHP教程');
  3. foreach($arr as $k=>$v){
  4. echo $k."=>".$v."
    ";
  5. }
  6. ?>
複製代碼

三、聯合使用list()、each()和while迴圈遍曆數組each()函數需要傳遞一個數組作為一個參數,返回數組中當前元素的鍵/值對,並向後移動數組指標到下一個元素的位置。list()函數,這不是一個真正的函數,是PHP的一個語言結構。list()用一步操作給一組變數進行賦值。

例子:

  1. //定義迴圈的數組
  2. $arr = array('website'=>'http://bbs.it-home.org','webname'=>'程式員之家')
  3. while(list($k,$v) = each($arr)){
  4. echo $k.'=>'.$v.'
    ';
  5. }
  6. ?> jbxue.com
複製代碼

輸出結果:

website=>http://bbs.it-home.orgwebname=>php程式員

總結:三種方法中,foreach語句迴圈遍曆數組,效率更高。推薦使用。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.