Php 使用三元运算符的“if”和“and”语句
以下内容构建了链接:Php 使用三元运算符的“if”和“and”语句,php,ternary-operator,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是后端中的空字段,它将抛出未定义的变量错误 我正在尝试使用三元运算符来调整代码,使其更具可读性 要解决未定义的变量错误,我希望执行以下操作: 如
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是后端中的空字段,它将抛出未定义的变量错误
我正在尝试使用三元运算符来调整代码,使其更具可读性
要解决未定义的变量错误,我希望执行以下操作:
如果$add_cta等于yes,则用户希望在此部分添加一个按钮,然后检查$cta_href和$cta_文本是否为空。如果它们不是空的,则显示锚定标记标记
我目前有:
但是,我找不到关于三元语句的使用和内部的任何信息
我该怎么办?我当前的伪代码是实现这一点的最佳方法吗?像在IF语句中一样处理您的条件怎么样
echo ($add_cta == "yes" && !empty($cta_href) && !empty($cta_text) ? '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>' : "");
因此,您可以像在IF、WHILE等中一样自由地编写条件。。声明
但三元运算符并不一定意味着您的代码会更好
简单的东西更容易本能地阅读
if($add_cta == "yes" && !empty($cta_href) && !empty($cta_text) ){
echo '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>';
}
与if语句相同。。AND运算符&&您希望执行的操作不会使代码更具可读性。比如初始化您使用的变量,will.hmm,您是对的,尝试减少代码行并不会使其更具可读性。感谢您的建议+将此项标记为正确,因为三元语句也有效
/* condition */ ? /* true value */ : /* false value */ ;
if($add_cta == "yes" && !empty($cta_href) && !empty($cta_text) ){
echo '<a class="button " href="'.$cta_href.'">'.$cta_text.'</a>';
}