Vanuit een DB haal ik een cijfer op, wat bepaalt welke rang een member heeft in een clan (Soldier(9), Leader(2), Owner(1)). Normaal gebruikte ik hier een simple if-elseif-else statement voor, maar aangezien ik deze n


function MemberClanUsergroup($value){
switch($value){
case "9":
$clan_ugroup = "Soldier";
break;
case "2":
$clan_ugroup = "Leader";
break;
case "1":
$clan_ugroup = "Owner";
break;
}
return $clan_ugroup;
}


Daarna doe ik deze mij de output

MemberClanUsergroup($character_clan['Grade']);
			echo "</td><td>
				  Usergroup: ".$clan_ugroup."<br>


$clan_ugroup heeft een output van niets. Als ik deze vervang door $character_clan['Grade'] dan krijg ik een "1" te zien. Wat doe ik hier fout?
<?php
function MemberClanUsergroup($value)
{
    switch($value)
    {
        case "9":
            $ugroup = "Soldier";
        break;
        case "2":
            $ugroup = "Leader";
        break;
        case "1":
            $ugroup = "Owner";
        break;
    }
    return $ugroup;
}

// code

$clanUGroup = MemberClanUsergroup($character_clan['Grade']);
echo "</td><td>Usergroup: ".$clanUGroup."<br>...
<?php
echo '</td><td> Usergroup: ' . MemberClanUsergroup($character_clan['Grade']) . '<br>';
?>
Komt er dus op neer dat je de output van MemberClanUsergroup() nog niet had toe gewezen aan een variabel om die vervolgens met echo te plaatsen op de pagina.
Of korter (aangezien return automatisch ervoor zorgt dat je switch ophoudt, en je geen break meer nodig hebt)
<?php
function MemberClanUsergroup($value)
{
switch($value)
{
case "9":
return "Soldier";
case "2":
return "Leader";
case "1":
return "Owner";
}
}
?>
haha geweldig. Script werkt ondertussen. Ging ervan uit dat $clan_ugroup automatisch een string werd en dus gewoon vanaf het punt waar de functie gebruikt werd defined was.
Thankx.

Reageren