我必须从另一个数字中减去一个数字,但是脚本必须验证这是否可行而不给出负数。
例如,客户的信用额度为5.00美元。他们想要购买20美元,现在他们只需要15美元,所以他们无法购买。现在它必须将它们重定向到一个页面(Insuffient funds)。
答案 0 :(得分:8)
$toBill = 20.0;
$myMoney = 5.0;
if( $myMoney >= $toBill )
{
// process
$myMoney -= $toBill;
}
else
{
// error
header('Location: /error_nsf/');
exit;
}
编辑:这个问题让您感到尖锐,因为您没有充分了解基础知识。您应该阅读有关流构造和条件等的内容,如果您这样做,这样的事情会变得容易得多。
答案 1 :(得分:1)
这是一个基本的条件,
$balance = 5.00;
$debit = 20.00;
if ($debit > $balance) {
// handle the error
} else {
$balance -= $debit;
}
答案 2 :(得分:1)
$toBill = 20.0;
$myMoney = 5.0;
$myMoney = $toBill <= $myMoney ? $myMoney - $toBill : header('Location: insuficcientFunds.php');
答案 3 :(得分:1)
另一个解决方案是使用一个函数来检查购买是否有效,就信用价值而言,如下所示:
function purchaseIsValid( $purchaseValue, $creditValue )
{
return ($purchaseValue <= $creditValue ); // returns true or false
}
然后在你的主应用程序中做一些像所有人建议的事情:
$purchase = 20.0;
$credit = 5.0;
if( purchaseIsValid( $purchase, $credit ))
{
// process
}
else
{
// error
}
祝你有美好的一天!