2011-01-09 8 views
-1

私は現在このPHPのJavaScript式をPHPに変換しようとしています。JavaScriptのPHP式

はJavaScript:

LVL=new Array(); 
LVL[1]=128; 
LVL[0]=128; 
m=.05; 
for (i=1;i<101;i++) { 
    if (i>1) { 
     LVL[i]=Math.floor(LVL[i-1]+(LVL[i-1]*m)); 
     m=m+.0015; 
    } 
} 

それはtabledocument.writesfor loopの束です。 Level 1, exp needed: 1、それは間違っている:

<?php 
$n = 1; // level 
$m = .05; // exp modifier 
$exp = floor($n*1+($n-1)*$m); 
echo "Level " . $n . ", exp needed: " . $exp; // 128 exp 
?> 

PHPの出力は次のとおりです。

は、ここで私はこれまで(作業されていない)持っているものです。

それは、言うべき:Level 1, exp needed: 128

は私が間違って何をしているのですか?

+0

をあなたがforループを忘れてしまった... –

+0

どのようにすることができます '1 * 1 +(1-1)* 0.05'は「128」ですか?あなたはあなたのPHPコードに '128 'というイベントを入れません(あなたのJSコードではこれを持っています)。あなたのPHPコードはまったく違って見えます... –

+0

それは単に式だったのでループは必要ありません。 – nn2

答えて

1

としてのアレイを構築する必要がありますあなたはやるエラーのカップル:あなたがインデックスを使用

  • (レベル)は、経験ポイントの量が に達するのに必要なレベルです。
  • あなたは、これまでのコード

(あなたが式をテストしている場合、それはOKです)のためのを忘れてしまった:

$lvl = array(128,128); 
$modifier=.05; 
for ($i=1;$i<101;i++) { 
    $lvl[$i]=floor($lvl[$i-1]*(1+$modifier)); 
    $modifier+=0.0015; 
} 
foreach ($lvl as $level=>$points) { 
    echo "Level " . $level . ", exp needed: " . $points ."\n<br />"; // 128 exp 
} 
+0

ああ、うんざり。だから、私は近くにいたの? – nn2

2

直接転写:

$LVL = array(); 
$LVL[1] = 128; 
$LVL[0] = 128; 
$m = .05; 
for ($i = 1; $i < 101; $i++) 
{ 
    if ($i > 1) 
    { 
     $LVL[$i] = floor($LVL[$i-1] + $LVL[$i-1]*$m); 
     $m = $m + .0015 
    } 
} 

あなたは、その構築されたボトムアップ

+0

クラップ、そうです。私はまっすぐ考えていません。 o_O – nn2