最近趴了PHP官方的array函式,發現有多了一個array_product(),他出現在5.1.0之後的版本,可以將陣列裡的值進行相乘的動作,換句話說之前的階乘函式,可以有另外一種寫法了。
//*************************************************
// 函式名稱:階乘函式
// 功能說明:5! = 5 * 4 * 3 * 2 * 1 = echelon(5)
//*************************************************
function factorial(n){
if(n == 1 || n == 0 ) {
return 1;
} else {
return n * factorial(n - 1);
}
}
改寫成這樣
array_product(range(1,5));不過效能誰比較好呢?@_@,所以我利用之前文章提到的Xdebug來測試
function factorial($n){
if($n == 1 || $n == 0 ) {
return 1;
} else {
return $n * factorial($n - 1);
}
}
factorial(30);
echo xdebug_time_index();
//0.00062918663024902
V.S
array_product(range(1,30)); echo xdebug_time_index(); //0.00033903121948242
=v=沒想到新的方法竟然又短又快耶,這算是一個新發現嗎XD
文章標籤
全站熱搜
