개발 Q&A

제목 다음 코드 중 어느것이 더 정확하고 올바르며 빠르고 보안에 좋은가요 ?
글쓴이 람이 작성시각 2014/08/08 09:17:54
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14314   RSS
if ($pager  == 1) { $start = 0; } else { $start = ($pager * $config['per_page']) - $config['per_page']; }

$start = ($pager  == 1) ? 0 : ($pager * $config['per_page']) - $config['per_page'];


그저 궁금해서 여쭤 봅니다.
 다음글 게시판 제작시 DB에서 데이터 불러오는 쿼리 관련해서 ... (8)
 이전글 한글깨짐 문제.

댓글

kaido / 2014/08/08 09:52:12 / 추천 0
감성차이 라고 생각 됩니다.

편한거 사용하세요.

개인적으로 가식성을 위해서 일반 코드 라인에는 1번을 넣고

html 태그 부분과 혼합해서 간편하게 나타낼경우  2번을 사용하고 있습니다.
letsgolee / 2014/08/08 15:35:03 / 추천 0
둘다 보안에 좋지 않은 것으로 여겨집니다...ㅎㅎ
이유는 $pager에 대한 검증이 없습니다...
람이 / 2014/08/08 15:38:10 / 추천 0
kaido 님 답변 감사합니다.
letsgolee 님 ... 그 부분은 번외로 .. 남겨 주세요. ㅋ
letsgolee / 2014/08/08 16:50:42 / 추천 0
보안요? ㅎㅎ 그냥 한 말이구요. 사실 보안은 의미 없습니다. digit_type이 아닌 경우 위 코드 상으론 * 으로 인해 0으로 변환되니까요.
다만 $pager가 digit_type인지에 대한 검증이 필요할 뿐입니다. 검증은 습관이 필요한 거라서요. 
코드이그 / 2014/08/08 16:53:11 / 추천 0
위 예제는 둘다 방법의 차이인거 같구요,
속도의 경우 연산자라서 삼항 연산자가 더 빠르다고 알고 있었는데
매번 그런것만은 아니라는 어느분의 실험이 있었나보네요.
아래 링크를 참고해보세요.

http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=334453
람이 / 2014/08/08 17:00:52 / 추천 0
코드이그님 감사합니다.
덕분에 더 좋은 정보를 얻었습니다.
저도 어디선가 if else 문이 삼항연산자보다 빠르다고 본 적이 있습니다.
슘님 / 2014/08/13 13:29:51 / 추천 0
저는 2번째를 애용합니다.
 
람이 / 2014/08/14 08:48:24 / 추천 0
슘님 : 삼항연산식으로 하시면 그럼 if, else if, else 같은 경우는 어떻게 처리하시나요 ?