close
最近趴了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
全站熱搜