スイッチケースが次のようなコードを持っていますが、なぜうまくいかないのですか?switch case&elseif hereの使い方
public function form_button_data($button, $key, $style)
{
$baseclass = 'qa-form-'.$style.'-button qa-form-'.$style.'-button-'.$key;
switch ($key){
case 'answer':
$tekst='Answer';
case 'save':
$tekst='Save Changes';
case 'ask':
$tekst='Send';
case 'reset':
$tekst='Reset to Default';
case 'account':
$tekst='Update my Profile';
case '0':
$tekst='Change';
default:
$tekst='';
}
$this->output('<button'.rtrim(' '[email protected]$button['tags']).' value="'[email protected]$button['label'].'" title="'[email protected]$button['popup'].'" type="submit"'.
(isset($style) ? (' class="'.$baseclass.'"') : '').'>'.$tekst.'</button>');
}
私はif elseif
条項(以下コード)を使用し、それは「0」ゼロの場合を除いて動作します:
public function form_button_data($button, $key, $style)
{
$baseclass = 'qa-form-'.$style.'-button qa-form-'.$style.'-button-'.$key;
if ($key == "answer") {$tekst='Answer';}
elseif ($key == "save"){$tekst='Save Changes';}
elseif ($key == "ask"){$tekst='Send';}
elseif ($key == "reset"){$tekst='Reset to Default';}
elseif ($key == "account"){$tekst='Update my Profile';}
elseif ($key = 0){$tekst='Change';}
else{$tekst='';};
$this->output('<button'.rtrim(' '[email protected]$button['tags']).' value="'[email protected]$button['label'].'" title="'[email protected]$button['popup'].'" type="submit"'.
(isset($style) ? (' class="'.$baseclass.'"') : '').'>'.$tekst.'</button>');
}
スイッチケースは動作しませんなぜですか? elseif
のゼロの「0」が機能しないのはなぜですか?
正しい言語でタグ付けすると役に立つかもしれません。 – mjs
等価性をチェックする代わりに、if elseifの "0"の場合に$ keyに割り当てる値。 – dspano
$ keyは、デフォルトのコーディングで任意の値を取得します。時には "答え"や "保存"などの文字列を取得することがあり、時には "0"の値を取得することもあります。 – esqeudero