【问题标题】:How to Assign true condition's value to a variable outside of if else condition in laravel?如何将真实条件的值分配给laravel中if else条件之外的变量?
【发布时间】:2019-09-26 21:37:17
【问题描述】:

我试图在 if-else 条件下为名为 $bonus 的变量分配一些值,然后我试图在 if-else 条件之外调用 $bonus,因此应该自动调用 true 条件的变量。我已经尝试过这段代码,但它在 laravel 的调试模式上给了我一个错误

错误:

未定义变量:红利

代码:

<?php
if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
    $bonus = ($data->lend_amount * 4) / 100;
} else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
    $bonus = ($data->lend_amount * 5) / 100;
}

if ($user_b_update) {
    Transaction::create([
        'user_id' => $data->user_id,
        'trans_id' => rand(),
        'time' => Carbon::now(),
        'description' => 'Matching Bonus Of ' . $bvp . ' Users',
        'amount' => $bonus,
        'new_balance' => $newacc_bal,
        'new_earning' => $newbal,
        'type' => 4,
        'charge' => 0
    ]);
}

【问题讨论】:

    标签: php laravel if-statement eloquent


    【解决方案1】:

    你必须定义$bonus

    $bonus = 0;
    
    if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
      $bonus = ($data->lend_amount * 4) / 100;
    } else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
      $bonus = ($data->lend_amount * 5) / 100;
    }
    

    或者在最后一个else块中设置默认值

    if ($data->lend_amount >= 50 && $data->lend_amount <= 500) {
      $bonus = ($data->lend_amount * 4) / 100;
    } else if ($data->lend_amount >= 500 && $data->lend_amount <= 50000) {
      $bonus = ($data->lend_amount * 5) / 100;
    } else {
      $bonus = 0;
    }
    

    【讨论】:

    • 先生,我想在 if else 语句之后调用 $bonus。该怎么做?
    • 你不能调用不存在的东西。您必须确保在调用之前定义了$bonus。看看你的 if-else 语句,它可能不像你期望的那样正确。如果使用我的其中一个代码,您仍然有错误吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-12
    • 2016-12-04
    • 1970-01-01
    • 2021-12-08
    • 2022-07-22
    • 2015-05-24
    相关资源
    最近更新 更多