$Variable = "Dog"
if($Variable == "Cat"){
do stuff
}
elseif($Variable == "Goat"){
do other stuff
}
elseif($Variable == "Cash"){
Run some other stuff
}
我如何编写代码来说明 当且仅当其中一个陈述是真的时,回音“hi”? 我的问题是我必须在每个声明中写回声“hi”吗?或者我可以通过某种方式保存线路吗?
答案 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 ] );
}
好的,我可以想到其他一些,但我需要你的用例;)