if 조건문을 많이 써도 속도에 큰 문제가 없을지 여쭙습니다.

if 조건문을 많이 써도 속도에 큰 문제가 없을지 여쭙습니다.

QA

if 조건문을 많이 써도 속도에 큰 문제가 없을지 여쭙습니다.

본문

안녕하세요

sir에서 매번 도움을 받고있는 회원입니다.

정말 감사드립니다.

 

다름이아니라 궁금한점이 생겨 질문드리게되었습니다.

if 조건문을 많이 써도 속도에 큰 문제가 없을지 여쭙습니다.

예를들어

<? if($data == "한식"){

<img src="hansik.jpg">

}

?>

<? if($data == "중식"){

<img src="china.jpg">

}

?>

<? if($data == "인도식"){

<img src="india.jpg">

}

?>

 

이런식으로 50개 100개이상 조건식을 써줘도

이용자들이 사용할 때 속도면에서 문제가 없을지 여쭙습니다.

감사합니다!

이 질문에 댓글 쓰기 :

답변 3

if 문은 한번씩 다 확인을 합니다.

조건씩이 많을때는   switch 을 쓰며는 조건이 맞으면

바로 빠지니깐  속도면에서 유리합니다.

아래와 같이 사용 합니다.

 

<?php
switch($data){
    case '한식':echo '<img src="hansik.jpg">' ; break;
    case '중식':echo '<img src="china.jpg">' ; break;
    case '인도식' :echo '<img src="india.jpg">' ; break;
    ..
    ..
    ..
    default : echo '<i class="fa fa-file" aria-hidden="true"></i>';
    break;
}
?>

채택 답변처럼 switch()문을 써도 되고, if/elseif문을 써도 됩니다.

- https://www.php.net/manual/en/control-structures.elseif.php

- http://docs.php.net/manual/kr/control-structures.elseif.php

참고로 좀 더 간단한 방법 소개합니다.


$food_data = [
  '한식'=>'hansik',
  '중식'=>'china',
  '인도식'=>'india', // 마지막 , 있어도 무방
  // 편하게 추가, 수정, 삭제
];
if ( isset($data) && isset($food_data[$data]) ) printf('<img src="%s.jpg">', $food_data[$data]); // ※
else echo '<img src="none.jpg">'; // 지정된 데이터 없을 때
// ※ $data 변수 체크까지 하면, $data 변수가 할당되어 있지 않아도 Notice 오류 없이 진행.
답변을 작성하시기 전에 로그인 해주세요.
전체 76
QA 내용 검색

회원로그인

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