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

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

QA

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

답변 3

본문

안녕하세요

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 오류 없이 진행.
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #DB ×
전체 821
© SIRSOFT
현재 페이지 제일 처음으로