私は単一のスイッチケースで複数の値を渡したいと思います。私はそれをやろうとしているように彼らの方法は不可能であることを理解しています。オンラインで各ケースを配置するのに手間がかかりますか?Switchステートメント>複数の大文字小文字を1つのケースに含めることは可能ですか?
switch(get_option('my_template'))
{
case 'test1', 'test2':
return 850;
break;
default:
return 950;
}
私は単一のスイッチケースで複数の値を渡したいと思います。私はそれをやろうとしているように彼らの方法は不可能であることを理解しています。オンラインで各ケースを配置するのに手間がかかりますか?Switchステートメント>複数の大文字小文字を1つのケースに含めることは可能ですか?
switch(get_option('my_template'))
{
case 'test1', 'test2':
return 850;
break;
default:
return 950;
}
switch(get_option('my_template')) {
case 'test1':
case 'test2':
return 850;
break;
default:
return 950;
}
私は、これはあなたが得ることができる限り近いと思います。
switch(get_option('my_template'))
{
case 'test1':
case 'test2':
return 850;
break;
default:
return 950;
}
訂正して編集しました。
各項目がリターンを行うことを前提にすると、break文は必要ありません。私は代わりに、後で事実の後に関数の中の値が必要な場合に備えて変数を850または950に設定することをお勧めします。そして、疑わしい擬似標準であるreturn文が1つしかありません。 – Horus
これはどう
switch(get_option('my_template'))
{
case 'test1':
case 'test2':
return 850;
break;
default:
return 950;
}
、あなたのケースにbreak;
を使用していない限り、実行はちょうど次の場合に該当します。あなたは、一緒にあなたの例それぞれを積層することによってあなたの利点にこれを使用することができます。例:
switch(get_option('my_template')) {
case 'test1':
case 'test2':
return 850;
break;
default:
return 950;
}
何があるため、実行は、すなわちすぐに(その場合には終了していないとき、「TEST1」の場合にはbreak;
はありませんのでその中のロジック)、コントロールは 'test2'の場合に落ち、break
ステートメントで終了します。
この場合、return
ステートメントは単独でswitch
から抜け出すため、この場合はbreak
は必要ありません。
+1は、breakステートメントをクリアするための提案です。ありがとう! –
スイッチの構造内では、1行に 'や'のような何かをする方法はないと思います。これは最も簡単な方法のようになります。
switch(get_option('my_template'))
{
case 'test1':
case 'test2':
return 850; break;
default:
return 950;
}
しかし、あなただけの値を返すと、コードを実行されていない場合は特に、私は次のことをやってreccomendう:
$switchTable = array('test1' => 850, 'test2' => 850);
$get_opt = get_option('my_template');
if in_array($get_opt, $switchTable)
return $switchTable[$get_opt];
else return 950;
配列解決のための+1 – drudge
は、もしあなたがif/else 'return in_array($ get_opt、$ switchTable)を好むなら、3項を使うことができますか? $ switchTable [$ get_opt]:950; ' –
+1興味深いですね。私はそれをスピンします。 –
何?もちろんPHPには、Bashのような高度な言語で見られる機能はありません –