2012-04-07 31 views
-1

嗨我需要做一個像這樣的動態數組:數組數學指數

我有一個最大數量爲25000和62爲指數(?)數字。

Array 
(
    [0] => 0 
    [1] => 3844  // 62 * 62 
    [2] => 238328 // 62 * 62 * 62 <--- 
    [3] => 14776336 // 62 * 62 * 62 * 62 
) 

這只是我需要的一個例子:計算數組值並找到適合的最大數量。

任何想法?

回答

1
$max = floor(log(25000,62)); 
$array = array_map(function($value){return pow(62,$value);},range(0,$max); 

或者,在總體功能:

function getpowers($base, $maxvalue){ 
    $max = floor(log($maxvalue,$base)); 
    return array_map(function($value) use ($base) {return pow($base,$value);},range(0,$max)); 
} 
var_dump(getpowers(62,25000)); 
+0

嗨,有一些與PHP 5.2的問題,你能幫我嗎? – greenbandit 2012-04-21 16:55:20

+0

這些是PHP中基本的數學函數,它們不依賴於版本。你到底有什麼問題呢? – Wrikken 2012-04-21 22:59:49

0

你的意思是這樣的嗎?

$max=25000; 
$exp=62; 
$result=0; 
$i=1; 
while ($result<$max) 
    { 
    $result=pow($exp,$i); 
    $i++; 
    } 
echo $i; 
echo '<br>'; 
echo $result;