2010-08-14 2 views
0
//display faction userlevel: 

$level_boss = $req_faction_info['f_boss']; 
$level_uboss = $req_faction_info['f_uboss']; 
$level_rhm = $req_faction_info['f_rhm']; 
$level_lhm = $req_faction_info['f_lhm']; 
$level_r1 = $req_faction_info['f_r1']; 
$level_r2 = $req_faction_info['f_r2']; 

if($level_boss == $username){ $u_level = 'Boss'; } 
elseif($level_uboss == $username){ $u_level = 'Underboss'; } 
elseif($level_rhm == $username){ $u_level = 'Right Hand Man'; } 
elseif($level_lhm == $username){ $u_level = 'Left Hand Man'; } 
elseif($level_r1 == $username){ $u_level = 'Recruiter One'; } 
elseif($level_r2 == $username){ $u_level = 'Recruiter Two'; } 
else{ $u_level = 'Faction Member'; } 

echo '<div id="faction_userlevel">Your current level within the faction is: '.$u_level.'</div>'; 

Должен быть более простой способ сделать это?петля по запросам

ответ

1

как насчет:

$levels = array(
    'f_boss' => 'Boss', 
    'f_uboss' => 'Underboss', 
    'f_rhm' => 'Right Hand Man', 
    'f_lhm' => 'Left Hand Man', 
    'f_r1' => 'Recruiter One', 
    'f_r2' => 'Recruiter Two' 
); 
$level = null; 
foreach($levels as $key => $val){ 
    if($username == $req_faction_info[$key]) $level = $levels[$key]; 
} 
if($level === null) $level = 'Faction Member'; 

echo '<div id="faction_userlevel">Your current level within the faction is: '.$level.'</div>'; 
+0

спасибо! Я удивлен, как быстро я получил ответ! : D –

0

Хорошо ... это сделать:

foreach($req_faction_info AS $key => $val){ 
    $$key = $val; 
} 

switch $username{ 
    case $f_boss: 
     $u_level = "Boss"; 
     break; 

    case $f_uboss: 
     $u_level = "Underboss"; 
     break; 
} 

хмм ... не могу думать о какой-либо другим способом, чтобы действительно сделать это.

0
$level=array(
    'Faction Member', 
    'f_boss'=>'Boss', 
    'f_uboss'=>'Underboss', 
    'f_rhm'=>'Right Hand Man', 
    'f_lhm'=>'Left Hand Man', 
    'f_r1'=>'Recruiter One', 
    'f_r2'=>'Recruiter Two' 
); 
echo '<div id="faction_userlevel">Your current level within the faction is: '.$level[array_search($username,$req_faction_info)].'</div>'; 
+0

, но вы пропустили дело «Член фракции». – darma

+1

Легко, как пирог. Ответ исправлен. array_search вернет FALSE, если не найдет совпадение. FALSE будет соответствовать элементу индекса 0 в массиве. – stillstanding

Смежные вопросы