多个if else

时间:2015-04-08 12:18:14

标签: php if-statement

如果BOTH if语句为假,我怎么能显示一些默认代码呢?

我有这段代码 -

  <?php if( get_sub_field('cta_phone')): ?>
   <a class="phone" href="tel:<?php the_sub_field('cta_phone');?>"><?php the_sub_field('cta_phone');?></a></span>
<?php else: ?><?php endif; ?>

<?php if( get_sub_field('cta_mobile')): ?>
   <a class="phone" href="tel:<?php the_sub_field('cta_mobile');?>"><?php the_sub_field('cta_mobile');?></a></span>
<?php else: ?><?php endif; ?>

<?php else: ?>
   <img src="http://my-domain/image.jpg">
<?php endif; ?>

我目前没有使用else位,因为我只想表明两者是否都是假的?

希望它有意义

2 个答案:

答案 0 :(得分:0)

您只能使用1个php标记来使您的语法更具可读性 避免

多个<?php ?>代码。

您还可以使用echo使用html脚本来打印php标记。

<?php
if( get_sub_field('cta_phone')){
    echo '<a class="phone" href="tel:'.the_sub_field('cta_phone').'">'.the_sub_field('cta_phone').'</a></span>';
} else if (get_sub_field('cta_mobile')){
    echo '<a class="phone" href="tel:'.the_sub_field('cta_mobile').'">'.the_sub_field('cta_mobile').'</a></span>';
} else {
    //do what you want to do here, if they are false.
}

答案 1 :(得分:0)

好的,谢谢,'else'可以正常工作,如果这两个都不是真的,但如果我有一个是真的或两者都是真的,它只显示第一个条目,但显示两次?

 <?php
if( get_sub_field('cta_phone')){
    echo '<a class="phone" href="tel:'.the_sub_field('cta_phone').'">'.the_sub_field('cta_phone').'</a>';
} else if (get_sub_field('cta_mobile')){
    echo '<a class="phone" href="tel:'.the_sub_field('cta_mobile').'">'.the_sub_field('cta_mobile').'</a>';
} else {
    echo '<img src="http://placehold.it/350x150">';
}
?>