在php中检查3个条件的更优雅的方法?

在php中检查3个条件的更优雅的方法?,php,if-statement,Php,If Statement,我有3个网球场,你可以预订。现在我需要检查哪个球场是预订的。这在php中非常混乱。 我需要检查: 1号球场有人预订吗?如果是,2号球场是否保留?如果是,第三庭是否保留?。。。你明白了 这是我的密码: if ( $counter != 0 ) { if ( $counter2 != 0 ) { if ( $counter3 != 0 ) { //Alle Plätze besetzt ?> <

我有3个网球场,你可以预订。现在我需要检查哪个球场是预订的。这在php中非常混乱。 我需要检查:

1号球场有人预订吗?如果是,2号球场是否保留?如果是,第三庭是否保留?。。。你明白了

这是我的密码:

if ( $counter != 0 ) {
    if ( $counter2 != 0 ) {
        if ( $counter3 != 0 ) {
            //Alle Plätze besetzt
            ?>
            <td>"R"</td>
            <td>"R"</td>
            <td class="td-border-right">"R"</td>
            <?php
        } else {
            //PLatz 1 u 2 besetzt, 3 nicht
            ?>
            <td>"R"</td>
            <td>"R"</td>
            <td class="td-border-right"></td>
            <?php
        }
    } else if ( $counter3 != 0 ) {
        //PLatz 1 u 3besetzt, 2 nicht besetzt
        ?>
        <td>"R"</td>
        <td></td>
        <td class="td-border-right">"R"</td>
        <?php
    } else {
        ?>
        <td>"R"</td>
        <td>"R"</td>
        <td> class="td-border-right"></td>
        <?php
    }
} else {
    if ( $counter2 != 0 ) {
        if ( $counter3 != 0 ) {
            ?>
            <td></td>
            <td>"R"</td>
            <td class="td-border-right">"R"</td>
            <?php
        } else {
            ?>
            <td></td>
            <td>"R"</td>
            <td class="td-border-right"></td>
            <?php
        }
    } else {
        if ( $counter3 != 0 ) {
            ?>
            <td></td>
            <td></td>
            <td class="td-border-right">"R"</td>
            <?php
        } else {
            ?>
            <td></td>
            <td></td>
            <td class="td-border-right"></td>
            <?php
        }
    }
}
if($counter!=0){
如果($counter2!=0){
如果($counter3!=0){
//别客气
?>
“R”
“R”
“R”
“R”
“R”
“R”
“R”
“R”
“R”
class=“td border right”>
“R”
“R”
“R”
“R”

法院可以单独处理

<td><?php echo ($counter != 0)? 'R' : '' ?></td>
<td><?php echo ($counter2 != 0)? 'R' : '' ?></td>
<td class="td-border-right"><?php echo ($counter3 != 0)? 'R' : '' ?></td>

您可以尝试对所有计数器使用数组,并在每个计数器中循环

$counters = array( $counter1, $counter2, $counter3 );
foreach ( $counters as $counter ){
    if ( $counter != 0 ) {
        //code goes here;
    }
    else {
        //code goes here;
    }
}

你可以一直这样做:

$counter1 = 0;
$counter2 = 0;
$counter3 = 1;

if($counter1 === 0) {
    
    echo 'Its taken';
    
    if($counter2 === 0) {
        
        echo 'Its taken';
        
        if($counter3 === 0) {
            echo 'Its taken';
        }
        else {
            echo 'Its free!';
        }
    } else {
        echo 'Its free!';
    }
} else {
    echo 'Its free!';
}

每种语言中都有不同的循环。
for($courts as$court){***logic***}
应该可以工作。但是如果是这样,我认为这里不会更糟。我认为OP可能是编程的新手,所以我现在不会把他/她和trigraphs混淆,但本质上,这是正确的解决方案和解决问题的正确方法。+1来自我。