PHP获取值然后将其放入变量

时间:2016-07-28 07:19:12

标签: php variables if-statement

我有一个代码来执行此操作:

<?php
$xml=simplexml_load_file("d2ladder.xml") or die("Error: Cannot create object");
$xp1 = 4439;
$xp2 = 8439;
?>

<?php for ($i = 0; $i < 100; $i++) {
<?php $xp = $xml->ladder[12]->char[$i]->experience;
      $xppercent = $xp/$xp2*100; ?>

      <div style="width: <?php echo $xppercent; ?>px">teste</div>
<?php echo $xml->ladder[12]->char[$i]->level; ?>
<?php } ?>

公式"$xp2"需要由$xml->ladder[12]->char[$i]->level

设置

如果level = 1,则使用$xp1计算 如果level = 2用$xp2计算并且去了,我有99个固定的xps,它会改变1-99级以便以这种方式计算

有一种解决这个问题的简单方法吗?感谢

3 个答案:

答案 0 :(得分:0)

所以它就像,当level = 1,$ xp1,level 2 - $ xp2,level 3 - $ xp1?

如果是这种情况,请使用modulo:

CurrentProject.Connection.Execute _
        "ALTER TABLE MyTable ADD COLUMN MyNewDecimalField DECIMAL(18,8)"

如果这就是你的意思,请告诉我。

答案 1 :(得分:0)

也许这就是你所需要的:

$xml = simplexml_load_file("d2ladder.xml") or die("Error: Cannot create object");
$xps = [
    1 => 4439,
    2 => 8439,
    // ... and so on
];

for ($i = 0; $i < 100; $i++) {
    $xp        = $xml->ladder[12]->char[$i]->experience;
    $xppercent = $xp / $xps[$xml->ladder[12]->char[$i]->level] * 100;

    echo "<div style=\"width:$xppercent;px\">teste</div>";
    echo $xml->ladder[12]->char[$i]->level;
}

如果您使用较旧的php,请将数组表示法更改为$xps = array(/*...*/);

答案 2 :(得分:0)

如果您不想对$xp1$xp2等使用数组,则可以始终使用variable variables

$xml=simplexml_load_file("d2ladder.xml") or die("Error: Cannot create object");
$xp1 = 4439;
$xp2 = 8439;
// And so on ...

for ($i = 0; $i < 100; $i++) {
    $xp = $xml->ladder[12]->char[$i]->experience;
    $xppercent = $xp/${'xp' . xml->ladder[12]->char[$i]->level}*100;
    echo "<div style=\"width:$xppercent;px\">teste</div>";
    echo $xml->ladder[12]->char[$i]->level;
}