PHP elseif问题

时间:2018-04-19 16:04:46

标签: php if-statement

我尝试在没有为name3和name4显示任何内容时将col-lg-6添加到其中一个Div,但它会一直显示为col-lg-4。

<?php
$name3 = get_field('name3', $post->ID);
$name4 = get_field('name4', $post->ID);
?>

<div class="col-lg-3">
    <!-- name1 exists -->
</div>

<?php if ($name3 == "" || $name4 == ""): ?>
    <div class="col-lg-4">
    <?php elseif ($name3 == "" && $name4 == ""): ?>
        <div class="col-lg-6">
        <?php else: ?>
            <div class="col-lg-3">
            <?php endif; ?>
            <!-- name2 exists -->
        </div>

        <div class="col-lg-3">
            <!-- name3 does not exist -->
        </div>

        <div class="col-lg-3">
            <!-- name4 does not exist -->
        </div>

我已经看过这里和其他网站,但我无法弄明白。我知道它可能会变得愚蠢和简单,但我现在真的需要解决这个问题。

2 个答案:

答案 0 :(得分:0)

目前,当您的第二个if有效时,无论如何都会进入第一个<?php if($name3 == "" || $name4 == ""): ?> <div class="col-lg-4"> <?php elseif($name3 == "" && $name4 == ""): ?> <div class="col-lg-6"> <?php else: ?> <div class="col-lg-3"> <?php endif; ?> 。要解决它,请交换他们的订单。

更改:

<?php if($name3 == "" && $name4 == ""): ?>
<div class="col-lg-4">
<?php elseif($name3 == "" || $name4 == ""): ?>
<div class="col-lg-6">
<?php else: ?>
<div class="col-lg-3">
<?php endif; ?>

致:

var url = "https://sourceforge.net/projects/kaais/files/stats/json?start_date=2013-08-18&end_date=2018-04-19";

var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, false);
xhttp.onreadystatechange = function() {
    if(this.readyState == 4 && this.status == 200) {
        var output = document.getElementById('output');
        output.innerHTML = this.responseText;
    }
};      
xhttp.send();

答案 1 :(得分:0)

简单地改变支票顺序:

// if both are empty
<?php if($name3 == "" && $name4 == ""): ?>
<div class="col-lg-6">
// if one of them is empty
<?php elseif($name3 == "" || $name4 == ""): ?>
<div class="col-lg-4">
<?php else: ?>
<div class="col-lg-3">
<?php endif; ?>

否则,当其中一个变量为空时,如果()为真,则为;如果两者为空,则为

你也可以改变|| (或)运算符到第一个if()

中的xor运算符