使用三元运算符的“ if”和“”语句

时间:2019-07-10 09:23:36

标签: php ternary-operator

以下内容建立了链接:

if ($cta) {
    $cta = vc_build_link($cta);
    $cta_href = strip_tags(trim($cta['url']));
    $cta_text = strip_tags(trim($cta['title']));
}

当前,如果$cta_href$cta_text在后​​端为空字段,它将抛出未定义的variable errors

我正在尝试使用三元运算符来修改我的代码,以使其更具可读性。

要解决{strong>我想做的undefined variable错误:

如果$add_cta等于yes(用户想在此部分添加按钮),则检查$cta_href$cta_text是否为空。如果不是empty,请显示锚标记标记。

我目前有:

echo ($add_cta == "yes" ? '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>' : "");

但是,我在三元语句中找不到使用and的任何内容吗?

我该如何处理?我目前的伪代码是解决此问题的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

如何像在IF语句中那样让您的病情怎样?

echo ($add_cta == "yes" && !empty($cta_href) && !empty($cta_text) ? '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>' : "");

三元运算符就是

/* condition */ ? /* true value */ : /* false value */ ;

因此,您可以像在IF,WHILE等语句中那样自由编写条件。

但是三元运算符并不一定意味着您的代码会更好。

更简单的事情本能地更容易阅读。

if($add_cta == "yes" && !empty($cta_href) && !empty($cta_text) ){
    echo '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>';
}