仅在IF和ELSEIF语句运行时运行代码

时间:2016-06-13 19:11:07

标签: php if-statement conditional-statements

$Variable = "Dog"

if($Variable == "Cat"){
     do stuff
}
elseif($Variable == "Goat"){
     do other stuff
}
elseif($Variable == "Cash"){
     Run some other stuff
}

我如何编写代码来说明 当且仅当其中一个陈述是真的时,回音“hi”? 我的问题是我必须在每个声明中写回声“hi”吗?或者我可以通过某种方式保存线路吗?

1 个答案:

答案 0 :(得分:2)

没有特殊的控制结构,但有几种方法可以实现这一点,而无需编写echo 'hi';三次。这部分是品味问题,部分是真实情况的问题。例如,如果你只是说“嗨”,那一切都不重要,但如果你想做一些复杂的事情,那就是另一个故事。一些建议:

<强> 1。写另一个if / else子句

if ( $variable == "Cat" || $variable == "Dog" || $variable == "Goat" ) {
    echo 'hi!';
}

<强> 2。使用else排除

$say_hi = true;

if( $Variable == "Cat" ){
    // do stuff
} else if( $Variable == "Dog" ){
    // do other stuff
} else if( $Variable == "Goat" ){
    // do whatherever
} else {
    $say_hi = false;
}

if ( $say_hi ) {
    echo 'hi';
}

第3。使用功能

这个真的取决于你的用例,但它可能是可以的。

function feed( $animal ) {
    if ( $animal == 'cat' ) {
        // feed the cat
        return true;
    } else if ( $animal == 'dog' ) {
        // feed the dog;
        return true;
    } else if ( $animal == 'goat' ) {
        // feed the goat
        return true;
    }
    return false;
}

if ( feed('dog') ) {
    echo 'hi';
}

if ( feed('cat') ) {
    echo 'hi again';
}

<强> 4。使用数组

这个还取决于你的用例,但也可以很方便

function cat_function() {
    echo 'The cat says meaauw';
}

function dog_function() {
    // etc
}

function goat_function() {
    // you got the point
}

$animals = array(
    'cat'  => 'cat_function', 
    'dog'  => 'dog_function', 
    'goat' => 'goat_function'
);

$my_pet = 'dog';

if ( array_key_exists( $my_pet, $animals ) ) {
    call_user_func( $animals[ $my_pet ] );
}

好的,我可以想到其他一些,但我需要你的用例;)