php if문을 간단하게 줄일 수 있나요?

php if문을 간단하게 줄일 수 있나요?

QA

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;
}
?>

이런 방식도 괜찮을 것 같네요.

 


$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>";
}
답변을 작성하시기 전에 로그인 해주세요.
전체 137
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT