好的,所以我试图让计算器让$ person1和$ person2加在一起,然后乘以4.但是,当我使用这种方法时,我通过将1000放在一个字段来测试它,在另一个1000,结果是" 5000"当它应该是" 8000"但我似乎无法弄清楚为什么。
我尝试添加" * 4;"到$ answer而不是使用$ multivar变量,但仍然是同一个问题。
<?php
if (isset($_POST['person1'])) $person1 = $_POST['person1'];
if (isset($_POST['person2'])) $person2 = $_POST['person2'];
$multivar = 4;
$answer = $person1 + $person2 * $multivar;
echo <<<_END
<form method='post' action='index.php'>
<table border='0' width='500px' cellpadding='3' cellspacing='1' class="table">
<tr class="calcheading"><td colspan="2"><strong>How much can you borrow?</strong></td></tr>
<tr class="calcrow"><td>Person 1 income:</td><td align="center"><input type='text' name='person1' value="$person1"/></td></tr>
<tr class="calcrow2"><td>Person 2 income</td><td align="center"><input type='text' name='person2' value="$person2"/></td></tr>
<tr class="submit"><td colspan="2"><input type='submit' value='Calculate'/></td></tr>
_END;
?>
<tr class="calcrow">
<td><i>You can borrow up to:</td>
<td align="center"><input type="text" value="<?php echo round($answer)?>"></td></i>
</tr>
</table>
</form>
答案 0 :(得分:2)
应该是:
$answer = ($person1 + $person2) * $multivar;
乘法在添加之前完成,因此如果您希望首先添加,则必须使用括号。
答案 1 :(得分:0)
我同意Mischa的观点,但更详细一点的是操作顺序在这里发挥作用 - “PEMDAS”。首先计算括号中的公式,然后计算指数,然后在线上进行乘法/除法,然后在整个线上加/减。所以你之前写的内容实际上是这样计算的:1000+1000*4
,由于首先执行乘法,因此编译器看起来像1000+4000
。实际代码应为$answer=($person1+$person2)*$multiplier
。