jeudi 10 août 2017

how to use switch case & elseif here

I have a following code with switch case which is not working, and I don't know why?

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(' '.@$button['tags']).' value="'.@$button['label'].'" title="'.@$button['popup'].'" type="submit"'.
        (isset($style) ? (' class="'.$baseclass.'"') : '').'>'.$tekst.'</button>');
}

When I use if elseif clauses (the following code) then it works except the '0' zero case:

    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(' '.@$button['tags']).' value="'.@$button['label'].'" title="'.@$button['popup'].'" type="submit"'.
        (isset($style) ? (' class="'.$baseclass.'"') : '').'>'.$tekst.'</button>');
}

why switch case does not work? or why zero case '0' in elseif does not work?

Aucun commentaire:

Enregistrer un commentaire