if(isset($view) && $view['wr_id'] && count($view['file']))의 의미가 뭔가요?

if(isset($view) && $view['wr_id'] && count($view['file']))의 의미가 뭔가요?

QA

if(isset($view) && $view['wr_id'] && count($view['file']))의 의미가 뭔가요?

본문

안녕하세요.

 if(isset($view) && $view['wr_id'] && count($view['file']))

첨부파일관련 소스 같은데....

view[]형식과 $view의 차이는 뭔가요?

 if(isset($view) && $view['wr_id'] && count($view['file']))의 의미도 알려주세요

 

이 질문에 댓글 쓰기 :

답변 1

하나하나 살펴 봅시다

if는 조건이죠? if는 아시리라 생각하고 넘어가겠습니다

 

isset()은 안의 값이 존재하는지 여부를 알려줍니다

즉 isset($view)면? $view의 변수가 존재하는지 알려주는겁니다

$view가 존재하지않는다면(정의되지않았다면) false를 $view가 정의되어있다면($view = '';처럼 정의가 되어있다면) true를 반환해줍니다

참고자료 : https://www.codingfactory.net/10067

 

두번째 조건인 $view['wr_id']를 검사하는 이유는

$view가 배열이고 이 배열안에 'wr_id'의 값이 있는지 검사하는겁니다 $view배열안에 wr_id값이 있어야 해당 조건을 실행하는다는 뜻입니다

다만 여기서는 $view['wr_id'] = null이거나  $view['wr_id'] = 0이면 값이 0과 null이므로 false겠지요? 0과 null이면 값이 존재하지않는 것이니깐요

 

세번째 조건인 count($view['file'])은 $view['file']의 배열 갯수를 카운트하여 반환해줍니다

이렇게하는 이유는 $view['file']에 배열로 해당 게시글의 파일목록이 들어가있기때문입니다

즉 첨부된 파일 수를 반환하는거지요

 

자 종합해서 보자면

isset($view) = $view이 존재하면(게시글 정보가 정의되였다면)

&& 그리고

$view['wr_id'] = 게시글 아이디가 있으면

&& 그리고

count($view['file']) = 게시글에 첨부된 파일이 1개이상이 존재하면

해당 조건을 실행한다 라고 해석할수있습니다

그리고 맨앞에 isset($view)를 붙여주는 이유는 해당 변수(배열)의 존재여부를 알아야 뒤 두 조건들이 성립할수있는지 알수있기때문입니다
존재여부도 묻지않고 바로 $view['wr_id']의 값이 있냐고 물으면 $view가 정의되지 않았을때 당연히 $view['wr_id']를 찾지 못하기 때문에 오류를 출력할수있기때문입니다

"값이 0, null이다"와 "존재하지 않다"는 프로그래밍에서 상당히 다른 차이점이 있거든요

답변을 작성하시기 전에 로그인 해주세요.
전체 401
QA 내용 검색

회원로그인

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