PHP 숫자에 콤마(,) 찍기
숫자를 다루다보면 숫자 3자리마다 콤마(,)를 찍어야 할 경우가 있습니다. 주로 화폐(ex \2,000 $3,000) 같은 경우가 그 예라고 할 수 있습니다. 이 때 숫자를 문자열로 변환 후 뒤에서 부터 3자리씩 문자열을 잘라서 그 사이에 콤마(,)를 삽입하는 방법이 있겠습니다.
//숫자 3자리마다 콤마(,) 삽입
function numberFormat($number)
{
//변수선언
$result = "";
$strLength = 0;
$comma_pos = 0;
if(!$number || $number == "" || $number == 0)
return;
$strLength = strlen($number);
$comma_pos = $strLength % 3;
for($i=0 ; $i<$strLength ; $i++)
{
if($i!=0 && $i%3 == $comma_pos) $result .= ",";
$result .= substr($number, $i, 1);
}
return $result;
}//numberFormat()-----------------
위의 함수가 바로 그 예입니다. 위 함수는 실제로 앞에서부터 콤마(,)를 찍어냅니다. 또한 시간복잡도에 의해 위 알고리즘은 O(n)을 가집니다. (참고하세요~ ^^) 하지만 PHP에서는 이러한 함수를 아래와 같이 제공합니다.
함수명 : number_format()
파라미터 : 정수데이터
결과값 : 콤마(,) 찍힌 문자열
예제)
$total_count = "1200";
echo number_format((int)$total_count);
출력결과 : 1,200
이 함수가 PHP 버전 몇 부터 지원되는지는 모르겠습니다. number_format() 함수를 사용해보시고 없으면 상단에 임의로 구현한 함수를 사용해보시기 바랍니다.