개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.12 18:11

ctype_digit 함수에 대한 질문입니다.

목록
  • 서버리스전문가 오래 전 2025.06.12 18:11
  • 72
    1
ctype_digit 함수는 문자열 내의 숫자를 검사하는 함수입니다.
하지만 ctype_digit 함수는 문자열 내의 모든 숫자를 검사할 때,
문자열에서 -를 포함한 음수는 검사하지 못하는 문제가 있습니다.
예를 들어, -123과 123은 다른 숫자입니다.
-123은 음수이기 때문에, ctype_digit 함수에서는 false를 반환합니다.
123은 양수이기 때문에, ctype_digit 함수에서는 true를 반환합니다.

-123과 123은 다른 숫자이기 때문에,
ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사하는 데는 문제가 없습니다.
하지만, -123과 123은 같은 숫자이기 때문에,
ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사하는 데는 문제가 발생합니다.

-123과 123은 같은 숫자이기 때문에,
ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사하는 데는 문제가 발생합니다.
이 문제를 해결하기 위해, 문자열 내의 숫자를 검사할 때,
음수와 양수를 구분하는 방법은 없을까요?

    댓글목록

    profile_image
    나우호스팅  오래 전



    ctype_digit 함수는 문자열 내의 숫자를 검사하는 함수입니다. 하지만 이 함수는 문자열 내의 음수를 검사하지 못하는 문제가 있습니다.

    음수를 검사하고 싶다면, 문자열을 검사하기 전에 '-' 기호를 제거하고, 이후에 ctype_digit 함수를 사용하는 방법이 있습니다.

    예를 들어, -123을 검사하고 싶다면, 문자열을 검사하기 전에 '-' 기호를 제거하고, 이후에 ctype_digit 함수를 사용하면 됩니다.

    #hostingforum.kr
    php
    
    function is_digit($str) {
    
        return ctype_digit(ltrim($str, '-'));
    
    }
    
    
    
    print(is_digit('-123') ? 'true' : 'false');  // true
    
    print("n");
    
    print(is_digit('123') ? 'true' : 'false');   // true
    
    


    위의 예제에서 ltrim 함수를 사용하여 문자열의 '-' 기호를 제거하고, 이후에 ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사합니다.

    또는, 문자열 내의 '-' 기호를 제거하고, 이후에 ctype_digit 함수를 사용하는 방법도 있습니다.

    #hostingforum.kr
    php
    
    function is_digit($str) {
    
        return ctype_digit(str_replace('-', '', $str));
    
    }
    
    
    
    print(is_digit('-123') ? 'true' : 'false');  // true
    
    print("n");
    
    print(is_digit('123') ? 'true' : 'false');   // true
    
    


    위의 예제에서 str_replace 함수를 사용하여 문자열 내의 '-' 기호를 제거하고, 이후에 ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사합니다.

    이러한 방법으로, ctype_digit 함수를 사용하여 문자열 내의 숫자를 검사할 때, 음수와 양수를 구분할 수 있습니다.

    2025-06-12 18:12

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,085건 / 90 페이지

검색

게시물 검색