혹시, echo문 안에서 3항 연산문 사용 가능한가요?
본문
echo "<div class=\"item\">".latest("AAA", $latest_table, 5, 50, 0)."</div>";
위 AAA 표현 자리에 게시판이 B01이면 BBB 스킨, 그외는 AAA 스킨 사용이라는 조건문 삽입 가능한가요?
답변 4
echo "<div class=\"item\">".$bo_table == "b01" ? latest("BBB", $latest_table, 5, 50, 0) : latest("AAA", $latest_table, 5, 50, 0) ."</div>";
이런 식으로 바꿔 보세요.
저렇게 하면 복잡해 보이지 않나요? 가독성도 떨어지구요.
$skin = $bo_table == "b01" ? "BBB" : "AAA";
echo "<div class=\"item\">".latest($skin, $latest_table, 5, 50, 0)."</div>";
echo 문 자체에 조건을 걸면 안되는건가요?
if(테이블 == A){
echo "<div class=\"item\">".latest("AAA", $latest_table, 5, 50, 0)."</div>";
}
($bo_table == 'b01') ? 'bbb ' : 'aaa ';
아래처럼 넣으면 나오긴 하는데, 정렬이 이상하게 돼요. 아마도, php문의 조건문 흐름탓 같아요.
그래서, 일부러 3항 연산문을 사용하려는건데, echo문 안에 3항 연산문이 들어가면 에러나네요.
<div class="latest">
<?php
$i = 1;
while ($latest_table = array_shift($list)) {
$mw_skin_config = mw_skin_config($latest_table);
if ($mw_skin_config['cf_attribute'] == "1:1") continue;
if ($latest_table == 'S02')
echo "<div class=\"item\">".latest("theme/mw5-gallery", $latest_table, 5, 50, 0)."</div>";
else
echo "<div class=\"item\">".latest("theme/mw5", $latest_table, 5, 50, 0)."</div>";
if (($i++)%2==0) echo "</div><div class=\"latest\">";
}
?>
</div>