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

PHP IntlChar::isspace() 함수 – 공백 문자 여부 확인 방법과 예제

PHP의 IntlChar::isspace() 함수는 주어진 입력 문자가 공백 문자(space character)인지 여부를 검사하는 함수입니다. 이 함수는 국제화 확장 모듈인 intl에 포함되어 있으며, 유니코드 표준을 기준으로 문자의 공백 속성을 판별하기 때문에 다국어 환경에서도 안정적으로 사용할 수 있습니다.


문법(Syntax)

IntlChar::isspace(val)

매개변수(Parameters)

  • val − 공백 여부를 검사할 값입니다. 정수값(유니코드 코드포인트) 또는 UTF-8로 인코딩된 단일 문자열을 전달할 수 있습니다.

반환값(Return Value)

IntlChar::isspace() 함수는 val이 공백 문자일 경우 TRUE(bool(true))를 반환하고, 공백 문자가 아닐 경우 FALSE(bool(false))를 반환합니다. 참고로, 입력값이 유효한 단일 문자가 아닌 경우(예: 여러 문자가 포함된 문자열)에는 NULL이 반환됩니다.

예제 1

다음은 IntlChar::isspace() 함수의 기본적인 사용 예제입니다.

<?php
   var_dump(IntlChar::isspace("abcd"));
   echo "<br>";
   var_dump(IntlChar::isspace(" "));  
   echo "<br>";
   var_dump(IntlChar::isspace(" "));
?>

출력 결과

NULL
bool(true)
bool(true)

위 예제에서 "abcd"는 여러 개의 문자를 포함하고 있어 단일 문자로 해석할 수 없기 때문에 NULL이 반환됩니다. 반면 줄바꿈 문자("\n")와 캐리지 리턴 문자("\r")는 유니코드 규칙상 공백 문자로 분류되므로 true가 반환됩니다.

예제 2

이번에는 숫자 문자열, 일반 공백, 특수 문자를 입력했을 때의 결과를 살펴보겠습니다.

<?php
   var_dump(IntlChar::isspace("787"));
   echo "<br>";
   var_dump(IntlChar::isspace(" "));
   echo "<br>";
   var_dump(IntlChar::isspace("*"));
?>

출력 결과

NULL
bool(true)
bool(false)

"787"은 세 글자로 이루어진 문자열이므로 단일 문자가 아니어서 NULL이 반환됩니다. 일반 공백(" ")은 공백 문자에 해당하므로 true, 별표("*")는 공백 문자가 아니므로 false가 반환됩니다.


참고 사항

공백 관련 검사가 필요하다면 IntlChar::isspace() 외에도 IntlChar::isWhitespace(), IntlChar::isUWhiteSpace() 같은 유사한 함수들도 함께 활용할 수 있습니다. 각 함수마다 판별 기준이 조금씩 다르므로, 용도에 맞는 함수를 선택해 사용하는 것이 좋습니다.