php에서 이런 식은 어떤 뜻인건가요?;;
본문
중간에 있는 ? <- 요게 심히 궁금하네요;;
$xp_rate = (isset($nariya['xp_rate']) && $nariya['xp_rate']) ? $nariya['xp_rate'] : 0;
답변 5
condition ? A : B ;
--> condition이 참이면 A, 거짓이면 B 사용 의미.
Php 삼항조건문 입니다.
if else문을 줄여서 표현하는데 사용할 수있습니다.
3항연산식.. 3항 연산식으로 페이징 짜고
3항연산식을 if문으로 재해석하려고 하면
미쳐버림.
그중에서도 아주 if문 바꿔보라 도발해보라는 식의 3항연산식 짜놓아둔 페이징.
그러나 자체적 오류가 있어서 버그
+ 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 에 속하는 표현식이 적용되고, 그 값이 된다.
3항연산식은 Yes와 No의 좌우 구분을 제대로 처리를 이해하질 못할때가 있어서.. 오류가 일어나기도 함.
그래서 답은 class , if , function 기능으로 써야 3항연산식이 귀찮은 버그 해결이 된다는점.