兩個大陣列foreach,找出相同的key數量,所用的時間對比
<?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } for($i = 1;$i <= 10000;$i++) { $data_1[$i] = 1; } for($i = 1001;$i <= 600000;$i++) { $data_2[$i] = 1; } $time_start = microtime_float(); $num = 0; foreach ($data_1 as $key => $value) { if ($data_2[$key]) { $num++; } } echo $num; $time_end = microtime_float(); $delta_time = $time_end - $time_start; echo `程式總用時:`.round($delta_time, 3).`秒。`; $time_start = microtime_float(); $num = 0; foreach ($data_2 as $key => $value) { if ($data_1[$key]) { $num++; } } echo $num; $time_end = microtime_float(); $delta_time = $time_end - $time_start; echo `程式總用時:`.round($delta_time, 3).`秒。`; ?>
結果:9000程式總用時:0.003秒。9000程式總用時:0.595秒。
foreach放小的陣列,速度比較快。
相關文章
- 比較兩個陣列中是否有相同的元素陣列
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 每日一題(一):找出兩個陣列中共有的數字每日一題陣列
- Matlab統計陣列中相同元素的個數Matlab陣列
- 往物件陣列裡面新增相同的key 不同的value物件陣列
- 找出陣列中第 k 大的數字及其出現次數陣列
- 兩個有序陣列的中位數陣列
- 兩個陣列分別取出一個來相加,找出和最小的k個陣列
- 如何找出兩個文字檔案中有相同欄位的行
- 【陣列】1394. 找出陣列中的幸運數(簡單)陣列
- 比較兩個陣列是否相等陣列
- Shell 命令求兩個檔案每行對比的相同內容
- postgresql 比較兩個時間差大於 N個小時SQL
- 給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數。陣列
- Java 如何找出兩個文字檔案中有相同欄位的行Java
- 陣列元素的數量陣列
- javascript比較兩個時間日期的大小JavaScript
- hdu4417 樹狀陣列(求指定區間比指定數小的數的個數)陣列
- JavaScript比較兩個時間JavaScript
- 比較兩個table是否相同
- MySQL查詢某個列中相同值的數量統計MySql
- 尋找兩個有序陣列的中位數陣列
- 給定陣列中找到最大的兩個數陣列
- 4. 兩個排序陣列的中位數排序陣列
- 從陣列中找出N個數,其和為M的所有可能陣列
- 前端面試題,寫出一個快速找出兩個陣列不同值的函式。前端面試題陣列函式
- 如何在MATLAB中統計陣列中相同元素的個數?Matlab陣列
- 給定一個整數陣列 nums 和一個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。陣列
- 找出陣列中元素的位置陣列
- JavaScript比較兩個時間大小JavaScript
- 找出倆個字串的相同並刪除字串
- 輸入一個整數陣列,輸出奇偶數相間排列的陣列陣列
- 一個整型陣列裡除了一個或者兩個或者三個數字之外,其他的數字都出現了兩次。請寫程式找出這兩個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)陣列時間複雜度
- js找出陣列中出現最多的元素和次數JS陣列
- 尋找陣列中和為定值的兩個數陣列
- 演算法-兩個排序陣列的中位數演算法排序陣列
- 給定一個整數陣列,找出總和最大的連續數列,並返回總和。陣列
- 如何計算兩個時間間隔的天數