php if문을 간단하게 줄일 수 있나요?
본문
아래처럼 if문을 작성했는데
더 간단하게 줄일 수도 있나요?
<?php
if ($_GET["bo_table"]=="free") {
echo '<i class="fa fa-comments" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="notice") {
echo '<i class="fa fa-microphone" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="qna") {
echo '<i class="fa fa-question-circle" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="mod") {
echo '<i class="fa fa-wrench" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="tip") {
echo '<i class="fa fa-info-circle" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="mod_tutorial") {
echo '<i class="fa fa-cogs" aria-hidden="true"></i>';
}
elseif ($_GET["bo_table"]=="movie") {
echo '<i class="fa fa-video" aria-hidden="true"></i>';
}
else {
echo '<i class="fa fa-file" aria-hidden="true"></i>';
}
?>
답변 6
<?php switch($_GET["bo_table"]){ case 'free' : echo '<i class="fa fa-comments" aria-hidden="true"></i>'; break; case 'notice' : echo '<i class="fa fa-microphone" aria-hidden="true"></i>'; break; case 'qna' : echo '<i class="fa fa-question-circle" aria-hidden="true"></i>'; break; .. .. .. default : echo '<i class="fa fa-file" aria-hidden="true"></i>'; break; } ?>
아니면 게시판 여분필드에 해당클래스명을 담아서 하심이..그럼 if문 한번만 돌리면될텐데욥...
switch case 쓰셔도 무방할듯합니다
이런 방식도 괜찮을 것 같네요.
$icon = '<i class="fa fa-file" aria-hidden="true"></i>';
$arr = [
'free' => '<i class="fa fa-comments" aria-hidden="true"></i>'
, 'notice' => '<i class="fa fa-microphone" aria-hidden="true"></i>'
, 'qna' => '<i class="fa fa-question-circle" aria-hidden="true"></i>'
];
if (array_key_exists($_GET["bo_table"], $arr)) {
$icon = $arr[$_GET["bo_table"]];
}
echo $icon;
$icons = [
"free" => "fa-comments",
"notice" => "fa-microphone",
"qna" => "fa-question-circle",
"mod" => "fa-wrench",
"tip" => "fa-info-circle",
"mod_tutorial" => "fa-cogs",
"movie" => "fa-video"
];
if(in_array($_GET['bo_table'], $icons)) {
echo "<i class='fa ".$icons[$_GET['bo_table']]."' aria-hidden='true'></i>";
} else {
echo "<i class='fa fa-file' aria-hidden='true'></i>";
}
답변 감사합니다
답변을 작성하시기 전에 로그인 해주세요.