테스트 사이트 - 개발 중인 베타 버전입니다

php에서 이런 식은 어떤 뜻인건가요?;; 채택완료

윤광섭 4년 전 조회 2,275

중간에 있는 ? <- 요게 심히 궁금하네요;;

 

</p>

<p>$xp_rate = (isset($nariya['xp_rate']) && $nariya['xp_rate']) ? $nariya['xp_rate'] : 0;</p>

<p> </p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
s
sinbi Expert
4년 전

condition ? A : B ;

--> condition이 참이면 A, 거짓이면 B 사용 의미.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

윤광섭
4년 전
아.. 그런 뜻이었군요! 답변주셔서 감사합니다^^
엑스엠엘
4년 전
https://www.phptutorial.net/php-tutorial/php-null-coalescing-operator/
php 새 기능도 참고하세요.

댓글을 작성하려면 로그인이 필요합니다.

h
3년 전

3항연산식은 Yes와 No의 좌우 구분을 제대로 처리를 이해하질 못할때가 있어서.. 오류가 일어나기도 함.

 

그래서 답은 class , if , function 기능으로 써야 3항연산식이 귀찮은 버그 해결이 된다는점.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

B
4년 전

+ Expressions (표현식)

- https://www.php.net/manual/en/language.expressions.php

- http://docs.php.net/manual/kr/language.expressions.php

 

There is one more expression that may seem odd if you haven't seen it in other languages, the ternary conditional operator: 다른 언어에서 본적이 없다면 이상하게 보이는 표현식이 있다. 3중 조건적 연산자이다:

<?php

$first ? $second : $third

?>

If the value of the first subexpression is true (non-zero), then the second subexpression is evaluated, and that is the result of the conditional expression. Otherwise, the third subexpression is evaluated, and that is the value. first 에 속하는 표현식의 값이 TRUE (non-zero)이면 second 에 속하는 표현식이 적용되고, 이것이 조건적 표현식의 결과가 된다. 이 경우가 아니면, third 에 속하는 표현식이 적용되고, 그 값이 된다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

h
4년 전

3항연산식.. 3항 연산식으로 페이징 짜고 

3항연산식을 if문으로 재해석하려고 하면

 

미쳐버림.

 

그중에서도 아주 if문 바꿔보라 도발해보라는 식의 3항연산식 짜놓아둔 페이징.

 

그러나 자체적 오류가 있어서 버그

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

h
happyl
4년 전
그 페이징 if문으로 해석했음. "끝 부분"이 3항은 없을지어도.
if문으로 넘어갈경우 "버그" 수정을해야했음.[포기했던건지... 파일을 봐야 기억이 날듯.]

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

Php 삼항조건문 입니다.

if else문을 줄여서 표현하는데 사용할 수있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인