Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP localeconv() 함수 완벽 가이드 – 숫자·통화 형식 정보 조회 방법

PHP의 localeconv() 함수는 현재 로케일(locale)에 설정된 숫자 및 통화 형식 정보를 연관 배열 형태로 반환하는 함수입니다. 이 함수는 다국어·다통화 환경에서 금액이나 숫자를 각 지역 규칙에 맞게 출력해야 할 때 특히 유용합니다.

localeconv()가 반환하는 주요 배열 요소는 다음과 같습니다.

  • [decimal_point] – 소수점 문자
  • [thousands_sep] – 천 단위 구분자
  • [int_curr_symbol] – 국제 통화 코드 (예: USD)
  • [currency_symbol] – 통화 기호 (예: $)
  • [mon_decimal_point] – 통화용 소수점 문자
  • [mon_thousands_sep] – 통화용 천 단위 구분자
  • [positive_sign] – 양수 표시 문자
  • [negative_sign] – 음수 표시 문자
  • [int_frac_digits] – 국제 표준 소수 자릿수
  • [frac_digits] – 지역 관례상 소수 자릿수
  • [p_cs_precedes] – 양수에서 통화 기호가 숫자 앞에 위치하면 1(true), 뒤에 위치하면 0(false)
  • [p_sep_by_space] – 양수와 통화 기호 사이에 공백이 있으면 1(true), 없으면 0(false)
  • [n_cs_precedes] – 음수에서 통화 기호가 숫자 앞에 위치하면 1(true), 뒤에 위치하면 0(false)
  • [n_sep_by_space] – 음수와 통화 기호 사이에 공백이 있으면 1(true), 없으면 0(false)

p_sign_posn / n_sign_posn – 부호 위치 옵션

[p_sign_posn]은 양수의 부호 표시 형식을 결정합니다.

  • 0 – 숫자와 통화 기호 전체를 괄호로 감쌈
  • 1 – + 기호가 숫자와 통화 기호 앞에 위치
  • 2 – + 기호가 숫자와 통화 기호 뒤에 위치
  • 3 – + 기호가 통화 기호 바로 앞에 위치
  • 4 – + 기호가 통화 기호 바로 뒤에 위치

[n_sign_posn]은 음수에 대해 동일한 규칙으로 − 기호의 위치를 결정합니다.

grouping / mon_grouping – 숫자 그룹화 규칙

  • [grouping] – 일반 숫자의 자릿수 그룹화 방식을 나타내는 배열 (예: 3이면 1 000 000처럼 세 자리씩 묶음)
  • [mon_grouping] – 통화 숫자의 자릿수 그룹화 방식을 나타내는 배열 (예: 2이면 인도식 1 00 00 00처럼 두 자리씩 묶음)

문법(Syntax)

localeconv()

매개변수(Parameters)

이 함수는 매개변수를 받지 않습니다.

반환값(Return)

setlocale()로 설정된 현재 로케일에 따라 숫자 및 통화 형식 정보를 담은 연관 배열을 반환합니다.

사용 예제(Example)

다음은 localeconv() 함수의 사용 예입니다.

<?php
   setlocale(LC_ALL,"US");
   $info = localeconv();
   print_r($info);
?>

실행 결과(Output)

위 코드 실행 시 출력 결과는 다음과 같습니다.

Array
(
   [decimal_point] => .
   [thousands_sep] =>
   [int_curr_symbol] =>
   [currency_symbol] =>
   [mon_decimal_point] =>
   [mon_thousands_sep] =>
   [positive_sign] =>
   [negative_sign] =>
   [int_frac_digits] => 127
   [frac_digits] => 127
   [p_cs_precedes] => 127
   [p_sep_by_space] => 127
   [n_cs_precedes] => 127
   [n_sep_by_space] => 127
   [p_sign_posn] => 127
   [n_sign_posn] => 127
   [grouping] => Array
   (
   )
   [mon_grouping] => Array
   (
   )
)

출력 결과에서 값이 127로 표시되는 항목은 해당 로케일 환경에서 정의되지 않았음을 의미합니다. 실제 프로젝트에서는 서버의 로케일 설정 상태에 따라 반환값이 달라질 수 있으므로, 사용 전에 setlocale()로 원하는 로케일을 명확히 지정하는 것이 좋습니다.