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 오류 없이 진행.
BiHon님 답변 감사드립니다.
작업중인데 도움이 많이되었습니다.
즐거운 주말되세요^^
답변을 작성하시기 전에 로그인 해주세요.