Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用三元运算符的“if”和“and”语句_Php_Ternary Operator - Fatal编程技术网

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>';
}