채택완료

질문 올립니다~

2020-01-12 (일) 15:55:03 3,132

<?php echo number_format($row['wr_pay']) ?>원

게 되면 값이 있든 없든 뒤에.. 원 이라는 문자가 보여지고 있는 상태 인데요

if문 말고

<?php echo number_format($row['wr_pay']) : '원' ?>

이런식으로 하는 문법이 있던거 같은데요 기억이 ...

값이 출력될 때 뒤에 원 이라는 문자도 같이 나오는거죠..

문법이 어떻게 되는건지요?

|

답변 3개 / 댓글 1개

채택된 답변
+20 포인트

<?php echo number_format($row['wr_pay']). '원' ?>

으로 하시면됩니다.

php에서 echo 는 문자열로 출력을 시켜줍니다.

number_format은 숫자를 3자리마다 , 를 찍어주고

'원' 은 문자 입니다.

문자와 문자를 이어주는 연산자인 . 을 이용해서

두가지의 출력을 하나로 묶으면 됩니다.

답변에 대한 댓글 1개

어쨋든 감사합니다.
근데 질문의 요지는 조금 달랐는데요. 값이 없으면 원 이라는 글자도 안나오는 거였어요..
다른 방법이 있나요?

값이 있을때 체크를 먼저하시면되겠죠

<?php 

//값의 존재여부를 먼저 체크합니다.

$won_print = false;

if ($row['wr_pay']) {

    echo    number_format($row['wr_pay']);

    $won_print = true;

}

if ($won_print) {

    echo "원";

}

위의 조건식에서 값이 있을때만 '원'을 추력하는 구조로 판단되는데

이 시점에

$row['wr_pay'] 의 값과는 무관하게 출력을 하고 싶으면

그냥 '원'을 출력하면되겠죠

if ($row['wr_pay']) {

    echo    number_format($row['wr_pay']);

}

echo "원";

조건에 따라 출력여부를 정하시면 될것 같습니다.

마이너스 금액은 없는건가요? 

0원 이상일때만 표시하기 "0,000원"으로 금액이 없을때는 공백으로 처리.

<?php echo ($row['wr_pay'] > 0) ? number_format($row['wr_pay']).'원':''; ?>

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