以下内容建立了链接:
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
的任何内容吗?
我该如何处理?我目前的伪代码是解决此问题的最佳方法吗?
答案 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>';
}