PHP:三元运算符

时间:2015-09-13 23:13:04

标签: php wordpress

这似乎是一个非常简单的问题,但我尝试的一切都给了我一个错误。

    if ( $query_results->have_posts() ) :   
    $count_results = $query_results->found_posts;

问题:如何在此代码中添加else语句/功能?

我试图添加括号& else,我还尝试了:?的所有组合。什么都行不通..

2 个答案:

答案 0 :(得分:5)

那不是三元运营商;它是an uncommon if block syntax。试试这个:

if ( $query_results->have_posts() ) {
    $count_results = $query_results->found_posts;
} else {
    // whatever
}

注意:您的代码后面会有一个endif;,您还需要使用上面的语法替换它。可能还有elseif (...):else :个陈述。虽然这些都是可以接受和有效的,但它们通常被认为更难以阅读,而且最好使用大括号,如上例所示。

对于它的价值,我见过的唯一一个使用冒号语法(if (...):)的项目是Wordpress。我确信他们有理由这样做,但这绝对是不太常见的语法。

答案 1 :(得分:3)

您没有正确使用三元运算符。尝试:

$count_results = ($query_results->have_posts())? $query_results->found_posts : "YOUR ELSE EXPRESSION" ;