如何在php中的三元运算符中使用continue关键字

时间:2014-05-07 06:15:58

标签: php

我想在三元运算符中使用continue关键字来简化代码。我试图按照方式,发现语法错误。

     in_array($SqlPackageCategoryProductResultRowObj->product_id, $individualProduct)?continue:"";

我该如何使用它。

3 个答案:

答案 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,然后检查是否可以继续。