php中许多ifelse语句的替代解决方案

Oly*_*var 1 php arrays wordpress if-statement

在我的wordpress网站中,我已经做到了这一点,如果自定义字段与特定字符串匹配,将显示一个特定的(fontawesome)图标.这是相关的代码:

<?php $department = get_field('department'); ?>     

<?php 
if($department == "Marketing"){ echo '<i class="fa fa-paint-brush fw fa-lg"></i> ';
} elseif($department == "Client Delivery"){echo '<i class="fa fa-headphones fa-lg"></i> ';
} elseif($department == "Implementation"){echo '<i class="fa fa-gears fw fa-lg"></i> ';
} elseif($department == "Sales"){echo '<i class="fa fa-money fw fa-lg"></i> ';
} elseif($department == "Executive"){echo '<i class="fa fa-building-o fw fa-lg"></i> ';
} elseif($department == "IT"){echo '<i class="fa fa-laptop fw fa-lg"></i> ';
}
?>
Run Code Online (Sandbox Code Playgroud)

现在这个工作完美,但我知道有更好的方法来实现这一点,我相信它正在使用循环和/或关联数组.我已经调查了两者,但我担心我不能理解它,主要是因为我想要回应的,通常只依赖于一个条件.

Mar*_*ker 9

$values = array(
    'Marketing' => 'fa-paint-brush',
    'Client Delivery' => 'fa-headphones',
    ...
);

echo '<i class="fa ' . $values[$department]. ' fw fa-lg"></i> ';
Run Code Online (Sandbox Code Playgroud)