在laravel我有一个控制器
它获取了大量数据并保存它
$lastinid = $user->onlineApplications()->create($newInsertData);
如果payment_status成功,我希望发票为1,否则我希望它为0.如何使用三元运算符执行此操作。
if($lastinid->payment_status == "success"){
$invoice = 1;
}
$invoice = $lastinid->payment_status == "success" ? 1 : 0;
您可以阅读有关三元运算符的信息,并在https://secure.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary上查看示例
对于你的情况:
$invoice = ($lastinid->payment_status == "success") ? 1 : 0;
使用类型转换提示您甚至可以:
$invoice = (int)($lastinid->payment_status == "success");
这将起作用,因为true
值被转换为整数1
和false
到整数0
。当然,这只适用于1/0
,因为所有其他数字都使用三元数。