PHP의 ctype_punct() 함수는 주어진 문자열이 모두 출력 가능한 문장 부호 문자로만 이루어져 있는지 확인하는 데 사용됩니다. 여기서 문장 부호란 공백(whitespace)도 아니고 알파벳이나 숫자(alphanumeric)에도 해당하지 않는 문자를 의미합니다.
문법(Syntax)
ctype_punct(str)
매개변수(Parameters)
str − 검사할 대상 문자열입니다.
반환값(Return)
문자열의 모든 문자가 출력 가능하면서도, 글자·숫자·공백이 아닌 경우 TRUE를 반환합니다. 하나라도 조건에 맞지 않는 문자가 포함되어 있으면 FALSE를 반환합니다.
예제(Example)
다음은 ctype_punct() 함수의 동작을 보여주는 예제입니다 −
<?php
$srr = array('k211!@!$#', 'foo!#$bar', '*$()');
foreach ($srr as $d) {
if (ctype_punct($d)) {
echo "$d consists of all punctuation. \n";
} else {
echo "$d does not have all punctuation. \n";
}
}
?>실행 결과(Output)
위 코드를 실행하면 다음과 같은 결과가 출력됩니다 −
k211!@!$# does not have all punctuation. foo!#$bar does not have all punctuation. *$() consists of all punctuation.
결과 해석
k211!@!$#: 숫자와 알파벳(k, 2, 1, 1)이 포함되어 있어FALSE를 반환합니다.foo!#$bar: 알파벳(foo, bar)이 섞여 있어FALSE를 반환합니다.*$(): 오직 특수 기호로만 구성되어 있으므로TRUE를 반환합니다.
이처럼 ctype_punct() 함수는 입력값 검증 시 문자열이 순수하게 기호 문자로만 이루어졌는지 빠르게 판별할 수 있는 유용한 도구입니다.