2012-04-07 61 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;