我正在研究laravel项目。我有这个代码。
请解释
什么是?
和:
if($request->pre_delivered){
$grain_sale->undelivered_bushels = ($request->bushels_sold >= $request->pre_delivered ? $request->bushels_sold - $request->pre_delivered : NULl);
dd($grain_sale->undelivered_bushels);
}
答案 0 :(得分:0)
关于三元运算符 ?:
的帖子已经有很多,但简而言之:
$var = condition ? <if true> : <if false>;
是:
的简写if(condition){
$var = <if true>;
}else{
$var = <if false>;
}
有关PHP实现的更多详细信息,请查看the php manual。这是一个摘录:
如果
(expr1) ? (expr2) : (expr3)
求值为TRUE,则表达式expr2
求值为expr1
;如果expr3
求值为FALSE,则表达式expr1
。 从PHP 5.3开始,可以省略三元运算符的中间部分。如果expr1 ?: expr3
评估为TRUE,则表达式expr1
会返回expr1
,否则会返回expr3
。
答案 1 :(得分:0)
它是ternary operator。如果?
之前的部分为真,则执行?
之后和:
之前的部分。如果?
之前的部分为false,则执行:
之后的部分。
答案 2 :(得分:0)
答案 3 :(得分:-1)
三元运算符不是一个laravel的东西,它是一个php运算符,它也有多种语言版本。查看this article,其中介绍了ternary
和if