您現在的位置是:電腦技術吧?>? 組裝維修 ??>??數組遍歷方法,遍歷數組的三種方法??>??正文詳情

數組遍歷方法,遍歷數組的三種方法

申屠盼夏2019-12-06 11:17:16 人圍觀
簡介javascript數組遍歷今天,一個朋友問我一個關于PHP遍歷數組的方法的問題,并告訴了她一些。順便說一下,寫一篇文章總結一下。如果摘要不完整,請首先指出,foreach()foreacjs如何遍歷

今天有個朋友問我一個問題php遍歷數組的方法,告訴她了幾個。

順便寫個文章總結下,如果總結不全還請朋友們指出  第一、foreach()  foreach()是一個用來遍歷數組中數據的最簡單有效的方法。

  ? 1 2 3 4 5 6 ?php $urls= array('aaa','bbb','ccc','ddd'); foreach ($urls as $url){ echo This Site url is $url! br /; } ?   顯示結果:  ? 1 2 3 4 This Site url is aaa This Site url is bbb This Site url is ccc This Site url is ddd   第二、while() 和 list(),each()配合使用。

  ? 1 2 3 4 5 6 ?php $urls= array('aaa','bbb','ccc','ddd'); while(list($key,$val)= each($urls)) { echo This Site url is $val.br /; } ?   顯示結果:  ? 1 2 3 4 This Site url is aaa This Site url is bbb This Site url is ccc This Site url is ddd   第三、for()運用for遍歷數組  ? 1 2 3 4 5 6 7 ?php $urls= array('aaa','bbb','ccc','ddd'); for ($i= 0;$i count($urls); $i ){ $str= $urls[$i]; echo This Site url is $str.br /; } ?   顯示結果:  ? 1 2 3 4 This Site url is aaa This Site url is bbb This Site url is ccc This Site url is ddd   有時候有人也在問這幾種遍歷數組的方法哪個更快捷些呢,下面做個簡單的測試就明白了  =========== 下面來測試三種遍歷數組的速度 ===========  一般情況下,遍歷一個數組有三種方法,for、while、foreach。

其中最簡單方便的是foreach。

下面先讓我們來測試一下共同遍歷一個有50000個下標的一維數組所耗的時間。

  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ?php $arr= array(); for($i= 0; $i 50000; $i ){ $arr[]= $i*rand(1000,9999); } function GetRunTime() { list($usec,$sec)=explode( ,microtime()); return ((float)$usec (float)$sec); } ###################################### $time_start= GetRunTime(); for($i= 0; $i count($arr); $i ){ $str= $arr[$i]; } $time_end= GetRunTime(); $time_used= $time_end- $time_start; echo 'Used time of for:'.round($time_used, 7).'(s)br /br /'; unset($str, $time_start, $time_end, $time_used); ###################################### $time_start= GetRunTime(); while(list($key, $val)= each($arr)){ $str= $val; } $time_end= GetRunTime(); $time_used= $time_end- $time_start; echo 'Used time of while:'.round($time_used, 7).'(s)br /br /'; unset($str, $key, $val, $time_start, $time_end, $time_used); ###################################### $time_start= GetRunTime(); foreach($arr as$key= $val){ $str= $val; } $time_end= GetRunTime(); $time_used= $time_end- $time_start; echo 'Used time of foreach:'.round($time_used, 7).'(s)br /br /'; ?   測試結果:  ? 1 2 3 Used time of for:0.0228429(s) Used time of while:0.0544658(s) Used time of foreach:0.0085628(s)   經過反復多次測試,結果表明,對于遍歷同樣一個數組,foreach速度最快,最慢的則是while。

從原理上來看,foreach是對數組副本進行操作(通過拷貝數組),而while則通過移動數組內部指標進行操作,一般邏輯下認為,while應該比foreach快(因為foreach在開始執行的時候首先把數組復制進去,而while直接移動內部指標。

),但結果剛剛相反。

原因應該是,foreach是PHP內部實現,而while是通用的循環結構。

所以,在通常應用中foreach簡單,而且效率高。

在PHP5下,foreach還可以遍歷類的屬性。

版權聲明:本文由 申屠盼夏 整理編輯。

原標題:遍歷數組,js遍歷數組的方法

轉載注明出處:http://www.dn9ww09s.icu/assemble/15204.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 你所在的省市,所在省份

    你所在的省市,所在省份 相關圖片我所在的省份怎么填今天,我們來談談如何用PHP獲取用戶的IP地址,PHP如何根據IP判斷用戶所在的城市,以及PHP如何根據IP實現城市切換或跳轉。如何根據現有IP地址獲取其地理位所在省份...

  • 升級時,該升級關系時

    升級時,該升級關系時 相關圖片每時每秒都在升級系統本文主要介紹nginx將PHP從5.3.28升級到5.3.29時的502錯誤。對于您的朋友,請參考今天將PHP從5.3.28升級到5.3.29,發現網站無法打開版本升級相當于一個劃時帶...

  • oraclecase語句,oracle數據庫case語句

    oraclecase語句,oracle數據庫case語句 相關圖片數據庫case when語句登錄ID,用戶ID,登錄時間,url,描述,(當operatetype=0時,case operatetype=1,elsqlcase...

  • oracle col,oracle col 命令

    oracle col,oracle col 命令 相關圖片oracle set lineCol命令:主格式列的顯示形式。該命令有許多選項,如下所示:col[UMN][column | expr}[option]]選項可以是以下子句:Ali[as]aoracle round函數...

  • xml實例,xml運用

    xml實例,xml運用 相關圖片xml內容本文以實例的形式詳細描述了PHP解析XML的方法。與您分享以供參考。具體分析如下:books.xml文件如下:?123456789101213141516171xml什么文件...

  • 綠色的反色,紫色的反色

    綠色的反色,紫色的反色 相關圖片反色處理本文主要介紹了PHP將顏色轉換為反色的方法,涉及PHP操作顏色值的相關技巧。對于需要的朋友,請參考下面的例子來描述PHP將顏色轉換為相反顏色的方法。與您分享以供紋眉深...

  • 網站偽靜態,網站的偽靜態有什么用

    網站偽靜態,網站的偽靜態有什么用 相關圖片怎么滲透偽靜態網站一。Www.tuckey.org/URL Rewrite/下載URL Rewrite jar包2。將jar包復制到項目WEB-INF/WEB.xml 3。在we偽靜態網站注入方法...

  • 關鍵詞過濾,自定義過濾關鍵詞

    關鍵詞過濾,自定義過濾關鍵詞 相關圖片大量敏感詞過濾非法關鍵字過濾公共函數FieldBad Word(STR),如果STR=或ISNULL(STR),那么FieldBordWord=退出函數結束,如果DIMY i敏感詞過濾...

  • IE兼容模式,ie兼容

    IE兼容模式,ie兼容 相關圖片ie兼容設置pplet基本上是無用的。但它也有一些兼容的應用場景。對于每個瀏覽器,都不能直接編寫applet標記。最后,經過幾天的測試,您可以編寫以下代碼,這更適合多個瀏覽ie11兼容模...

  • php常用函數,php函數調用

    php常用函數,php函數調用 相關圖片php常用數組函數本文主要介紹了PHP實現簡單語法高亮功能,并通過一個實例分析了PHP通過正則表達式實現語法高亮功能的相關技巧。您可以參考下面的示例來描述簡單語法突出顯示函數...

熱評文章

  • asp本地全路徑,asp獲取路徑

    asp本地全路徑,asp獲取路徑 相關圖片asp圖片路徑格式本文主要介紹了利用asp.net獲取網站目錄物理路徑的方法。對于朋友,請參考下一頁后臺CS文件相對網站根目錄的path/view/atlas代碼,如下:striasp系統路徑代碼...

  • 閉包是啥,閉包

    閉包是啥,閉包 相關圖片閉包和正閉包本文主要介紹了用JavaScript創建閉包的兩種方法的優缺點以及差異分析的相關資料。您可以參考JavaScript常用的兩種方法來創建閉包。構造函數方法:?1Js閉包...

  • javascript 框架,javascript的基本框架

    javascript 框架,javascript的基本框架 相關圖片javascript怎么樣本文主要介紹了JavaScript框架設計和其他工廠的相關信息,非常簡單易懂。如果需要的話你可以檢查一下。JavaScript中類和繼承的出現表明JavaScrbootstrap框架...

  • oracle11g空表導出,oracle導出空數據庫

    oracle11g空表導出,oracle導出空數據庫 相關圖片oracle空白表如何在Oracle 11g中導出空表?由于Oracle 11g延遲段創建的新特性,當沒有數據插入時Oracle不會分配數據段,因此exp不能在11g數據庫中導出oracle查詢空表要2到3秒...

  • 單選,三d單選

    單選,三d單選 相關圖片3d單選網我之所以使用checkboxlist來實現無線電選擇,是因為我認為checkboxlist控件頁的顯示效果應該更好。您可以參考中提供的radiobutonlis福彩單選...

  • 閉包內存泄露,閉包為什么會造成內存泄露

    閉包內存泄露,閉包為什么會造成內存泄露 相關圖片閉包阮一峰本文主要介紹JS閉包導致內存泄漏的相關數據。可以在JS閉包中定義局部變量以供參考。但是,如果從外部調用它,特別是重復調用,將導致大量內存開銷。如何防止這種現象...

  • 用戶角色與權限,用戶角色權限具體實現

    用戶角色與權限,用戶角色權限具體實現 相關圖片用戶角色權限管理系統Oracle數據庫用戶管理Oracle權限設置一、權限分類:系統權限:系統指定用戶使用數據庫的權限。(系統權限針對用戶)。實體權限:某個權限用戶對其他用戶的表...

  • 常用代碼片段,30s代碼片段

    常用代碼片段,30s代碼片段 相關圖片有關下面代碼片段的說法一。打開一個新窗口并發送參數:發送參數:響應。Write()接收參數:字符串a=request.querystring(ID);字符串B=request.que管理常用代碼片段...

  • 9 patch,怎樣用patch

    9 patch,怎樣用patch 相關圖片patch是什么Oracle補丁也稱為Oracle補丁。有幾種Oracle修補程序。很難數這些小塊,也很難避免讓人眼花繚亂。不過,甲骨文補丁程序是有序的。Oracle提供的oppatch of...

  • c語言在線編程,c語言經典程序100例

    c語言在線編程,c語言經典程序100例 相關圖片c語言例子本文從C?程序員的角度詳細介紹了學習typescript的過程,主要針對兩種語言的異同進行了簡單的比較研究,希望對您有所幫助。Typescript發展得很好。在菜鳥教程100例...

關注微信

变脸官网查询