Php If else语句-值大于或小于。。困惑的

Php If else语句-值大于或小于。。困惑的,php,if-statement,Php,If Statement,我有一个非常简单的语句来检查一个值是否小于另一个值,但它不起作用,谁能快速检查它?我完全看不到这一点 $balance = $wallet->balance(); //3000 $loan = $wallet->loan(); // 5000 if (!$balance < $loan) { //Should be pretty straight forward... $wallet->updateBalance(Session::get('user'),$bal

我有一个非常简单的语句来检查一个值是否小于另一个值,但它不起作用,谁能快速检查它?我完全看不到这一点

$balance = $wallet->balance(); //3000
$loan = $wallet->loan(); // 5000
if (!$balance < $loan) { //Should be pretty straight forward...
    $wallet->updateBalance(Session::get('user'),$balance - 1000);
    $wallet->updateLoan(Session::get('user'),$loan - 1000);
    Redirect::to('bank.php');
} else {
    Redirect::to('bank.php');
}
$balance=$wallet->balance()//3000
$loan=$wallet->loan();//5000
如果(!$balance<$loan){//应该是非常直接的。。。
$wallet->updateBalance(会话::get('user'),$balance-1000);
$wallet->updateLoan(会话::get('user'),$loan-1000);
重定向::到('bank.php');
}否则{
重定向::到('bank.php');
}
当我运行这段代码时,不管$balance是否小于1000,它都会删除1000。如果我删除感叹号,它会立即重定向,这是应该的

我真的不明白我做错了什么

以下是完整的脚本:

    <?php
require_once 'core/init.php';

if (Input::exists('get')) {

    if (Input::get('borrow')) {
        $wallet = new Wallet;
        if ($wallet->get(Session::get('user'))) {
            $balance = $wallet->balance();
            $loan = $wallet->loan();
            $wallet->updateBalance(Session::get('user'),$balance + 1000);
            $wallet->updateLoan(Session::get('user'),$loan + 1000);
            Redirect::to('bank.php');
        }

    } else if (Input::get('repay')) {
        $wallet = new Wallet;
        if ($wallet->get(Session::get('user'))) {
            $balance = $wallet->balance();
            $loan = $wallet->loan();
            if ($balance < $loan) {
                $wallet->updateBalance(Session::get('user'),$balance - 1000);
                $wallet->updateLoan(Session::get('user'),$loan - 1000);
                Redirect::to('bank.php');
            } else {
                Redirect::to('bank.php');
            }

        }
    } else {
        Redirect::to('bank.php');
    }

} else {
    Redirect::to('bank.php');
}

我认为问题在于如何在if条件下应用运算符。如果(!($balance<$loan),请尝试
如果(!($balance<$loan))
如果($balance>=$loan)


问题部分是因为PHP如何在内部表示类型,部分是因为运算符优先级。首先应用否定运算符。因为bool在PHP中是由整数表示的,所以这个表达式的结果是
FALSE
,这相当于
0

我认为问题在于在if条件下如何应用运算符。如果(!($balance<$loan),请尝试
如果(!($balance<$loan))
如果($balance>=$loan)


问题部分是因为PHP如何在内部表示类型,部分是因为运算符优先级。首先应用否定运算符。因为bool在PHP中是由整数表示的,所以这个表达式的结果是
FALSE
,这相当于
0

我认为问题在于在if条件下如何应用运算符。如果(!($balance<$loan),请尝试
如果(!($balance<$loan))
如果($balance>=$loan)


问题部分是因为PHP如何在内部表示类型,部分是因为运算符优先级。首先应用否定运算符。因为bool在PHP中是由整数表示的,所以这个表达式的结果是
FALSE
,这相当于
0

我认为问题在于在if条件下如何应用运算符。如果(!($balance<$loan),请尝试
如果(!($balance<$loan))
如果($balance>=$loan)


问题部分是因为PHP如何在内部表示类型,部分是因为运算符优先级。首先应用否定运算符。因为布尔在PHP中是用整数表示的,所以这个表达式的结果是
FALSE
,相当于
0
if(!($balance
if(!($balance
if(!($balance
if(!(!($balance
相反!(a=b
)谢谢杰森!我不敢相信我没有看到那一个。
的反面。(
的反面)!(a=b
)谢谢杰森!我不敢相信我没有看到那一个。(
的反面)!(a=b
)谢谢杰森!我不敢相信我没有看到那一个。