我有一个代码来执行此操作:
<?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级以便以这种方式计算
有一种解决这个问题的简单方法吗?感谢
答案 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;
}