一個php問題,究竟array_shift()和unset()誰快呢,? php關(guān)于數(shù)組的函數(shù)是很強大的,,今天在公司遇就到一個問題,我需要刪除數(shù)組的第一個鍵,,在php中有兩種方法,,就是用array_shift()或者是unset(),兩個函數(shù)都可以實現(xiàn)刪除數(shù)組第一個鍵的功能,,前輩們都是用array_shift()的,,但是我心里有個疑問,用unset()有何不妥呢,?他們的效率如何呢,?回家后我做了個實驗:
<?php $a = array('aa'=>'a','bb'=>'b','cc'=>'c'); $t1=microtime(true); php關(guān)于數(shù)組的函數(shù)是很強大的,今天在公司遇就到一個問題,,我需要刪除數(shù)組的第一個鍵,,在php中有兩種方法,就是用array_shift()或者是unset(),,兩個函數(shù)都可以實現(xiàn)刪除數(shù)組第一個鍵的功能,,前輩們都是用array_shift()的,但是我心里有個疑問,,用unset()有何不妥呢,?他們的效率如何呢?回家后我做了個實驗:
<?php $a = array('aa'=>'a','bb'=>'b','cc'=>'c'); $t1=microtime(true); array_shift($a); echo 'array_shift($a):'.((microtime(true)-$t1)*1000).'<br><br>'; $t2=microtime(true); unset($a['aa']); echo "unset(\$a['aa']):".((microtime(true)-$t2)*1000).'<br>'; ?> 結(jié)果相差很大,由于時間很短,,所以我放大了1000倍 我刷了很多次,這個是這兩個函數(shù)的平均差距,。但是array_shift()還可以輸出你刪除的鍵值,,unset()就不能,我想這就是差那么點時間的原因吧,,不過如果不用輸出的情況下,,應(yīng)該優(yōu)先使用unset()的。 |
|