PHP의 ctype_space() 함수는 주어진 문자열이 공백(whitespace) 문자로만 이루어져 있는지 검사하는 함수입니다. 문자열 내 모든 문자가 일종의 공백 문자에 해당하면 TRUE를 반환하고, 하나라도 공백이 아닌 문자가 포함되어 있으면 FALSE를 반환합니다.
여기서 말하는 공백 문자는 단순한 빈칸(space)뿐만 아니라 탭(tab), 수직 탭(vertical tab), 줄 바꿈(line feed, \n), 캐리지 리턴(carriage return, \r), 폼 피드(form feed, \f) 등을 모두 포함합니다.
ctype_space() 함수 문법
ctype_space(str)
매개변수
str − 공백 여부를 검사할 대상 문자열입니다.
반환값
문자열의 모든 문자가 공백 문자이면 TRUE를, 그렇지 않으면 FALSE를 반환합니다. 참고로 빈 문자열("")을 전달하면 공백 문자가 하나도 존재하지 않기 때문에 FALSE가 반환된다는 점에 유의하세요.
예제 1: 배열 요소 검사하기
다음 예제는 배열에 담긴 각 문자열이 공백 문자로만 구성되어 있는지 확인하는 코드입니다.
<?php
$arr = array(' ', '\test123');
foreach ($arr as $demo) {
if (ctype_space($demo)) {
echo "$demo 는 모든 문자가 공백 문자입니다. \n";
} else {
echo "$demo 는 모든 문자가 공백 문자는 아닙니다. \n";
}
}
?>실행 결과
는 모든 문자가 공백 문자입니다. \test123 는 모든 문자가 공백 문자는 아닙니다.
위 결과에서 볼 수 있듯이, 첫 번째 요소인 빈칸(" ")은 공백 문자로만 이루어져 있어 TRUE가 반환되었고, 두 번째 요소인 "\test123"은 숫자와 알파벳이 포함되어 있어 FALSE가 반환되었습니다.
예제 2: 단일 문자열 검사하기
<?php $str = " "; if (ctype_space($str)) echo "공백 문자입니다!! \n"; else echo "공백 문자가 아닙니다! \n"; ?>
실행 결과
공백 문자입니다!!
정리
ctype_space() 함수는 사용자 입력값 중 공백으로만 이루어진 문자열을 걸러내거나, 폼 데이터 유효성 검사를 수행할 때 유용하게 활용할 수 있습니다. 해당 함수는 PHP 4.0.4 이상 버전부터 사용할 수 있으며, ctype 확장 함수군(ctypes)의 일부입니다.