使用三元进行变量赋值

问题描述 投票:0回答:3

在laravel我有一个控制器

它获取了大量数据并保存它

        $lastinid = $user->onlineApplications()->create($newInsertData);

如果payment_status成功,我希望发票为1,否则我希望它为0.如何使用三元运算符执行此操作。

if($lastinid->payment_status == "success"){
      $invoice = 1;
    }
php laravel
3个回答
0
投票

$invoice = $lastinid->payment_status == "success" ? 1 : 0;


0
投票

您可以阅读有关三元运算符的信息,并在https://secure.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary上查看示例

对于你的情况:

$invoice = ($lastinid->payment_status == "success") ? 1 : 0;

0
投票

使用类型转换提示您甚至可以:

$invoice = (int)($lastinid->payment_status == "success");

这将起作用,因为true值被转换为整数1false到整数0。当然,这只适用于1/0,因为所有其他数字都使用三元数。

© www.soinside.com 2019 - 2024. All rights reserved.