我想在三元运算符中使用continue关键字来简化代码。我试图按照方式,发现语法错误。
in_array($SqlPackageCategoryProductResultRowObj->product_id, $individualProduct)?continue:"";
我该如何使用它。
答案 0 :(得分:7)
ternary operator以(expr1) ? (expr2) : (expr3)
的形式获得3 expressions。
continue
是一个control structure语句,而不是表达式。因此,它不能是三元运算符的操作数。实际上,据我所知,PHP的运算符都不接受控制结构作为操作数。这同样适用于其他广泛的C系列语言。
为了便于阅读,在您的案例中使用if
语句可能更好。
答案 1 :(得分:0)
您不能使用三元运算符。这是解决方案:
if (in_array($SqlPackageCategoryProductResultRowObj->product_id, $individualProduct))
continue;
答案 2 :(得分:0)
这已经很老了,但是我偶然发现了它,希望能找到类似的功能。如果该值存在,我需要为变量分配一个值,如果不存在,则继续循环。我是这样实现的:
$var = isset($value) ? $value : NULL;
if(is_null($var)) continue;
虽然这很可能不是最佳实践,但是,如果您希望对第一个操作使用三进制,则可以将其设置为NULL,然后检查是否可以继续。