我有一個下面的代碼與開關盒不工作,我不知道爲什麼?如何在這裏使用開關盒&elseif
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 if的「0」情況下將值分配給$ key而不是檢查相等性。 – dspano
$ key通過默認編碼獲得任何值。有時它會得到字符串,如「答案」或「保存」,有時它只會得到「0」零的值。 – esqeudero