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

PHP ctype_print() 함수 완벽 가이드 – 출력 가능한 문자 검사 방법

PHP의 ctype_print() 함수는 전달된 문자열이 출력 가능한 문자(printable character)로만 구성되어 있는지 검사하는 함수입니다. 공백을 포함하여 실제로 화면에 출력을 만들어 낼 수 있는 문자라면 TRUE를 반환하고, 제어 문자(control character)나 출력·제어 기능이 전혀 없는 문자가 하나라도 포함되어 있으면 FALSE를 반환합니다.

문법(Syntax)

ctype_print(string $str)

매개변수(Parameters)

  • str − 출력 가능 여부를 검사할 대상 문자열입니다.

반환값(Return Value)

문자열의 모든 문자가 출력 가능하면(공백 포함) TRUE를 반환하고, 제어 문자 또는 어떤 출력이나 제어 기능도 수행하지 않는 문자가 포함되어 있으면 FALSE를 반환합니다.

예제(Example)

다음은 ctype_print() 함수의 실제 사용 예제입니다.

<?php
$arr = array('asdf\n\r\t', 'yu67', "fooo#int%@");
foreach ($arr as $x) {
    if (ctype_print($x)) {
        echo "$x 는 모두 출력 가능한 문자로 구성되어 있습니다.\n";
    } else {
        echo "$x 에는 출력 불가능한 문자가 포함되어 있습니다.\n";
    }
}
?>

실행 결과(Output)

asdf\n\r\t 는 모두 출력 가능한 문자로 구성되어 있습니다.
yu67 는 모두 출력 가능한 문자로 구성되어 있습니다.
fooo#int%@ 는 모두 출력 가능한 문자로 구성되어 있습니다.

참고 사항

위 예제에서 'asdf\n\r\t'가 TRUE를 반환한 이유는 작은따옴표(') 안에서는 \n, \r, \t가 이스케이프 시퀀스로 해석되지 않고, 백슬래시(\)와 일반 영문자 그대로 처리되기 때문입니다. 백슬래시와 영문자는 모두 출력 가능한 문자이므로 검사를 통과하게 됩니다.

반면 같은 문자열을 큰따옴표(")로 묶으면 \n, \r, \t가 각각 줄 바꿈, 캐리지 리턴, 탭이라는 제어 문자로 변환되어 ctype_print()는 FALSE를 반환합니다. 이처럼 따옴표 종류에 따라 결과가 달라질 수 있으므로, 입력 데이터가 실제 제어 문자를 포함하고 있는지 검사할 때는 이 점을 반드시 유의해야 합니다.

참고로 제어 문자 자체만을 검사하고 싶다면 ctype_cntrl() 함수를, 숫자 검사에는 ctype_digit(), 알파벳 검사에는 ctype_alpha() 함수를 활용할 수 있으며, 이들은 모두 PHP의 ctype 확장 모듈에서 제공됩니다.