개발자 Q&A

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

2025.05.09 06:41

function_exists 함수 사용 시 오류 발생 이유를 알려주세요

목록
  • AWS매니아 22일 전 2025.05.09 06:41 인기
  • 247
    1
제가 php에서 function_exists 함수를 사용하여 특정 함수가 존재하는지 확인하려고 합니다.
하지만 function_exists 함수를 사용하여 존재하는 함수를 찾은 후, 그 함수를 호출하려고하면 오류가 발생하는 이유를 알려주세요.
예를 들어, function_exists('함수명')을 사용하여 함수가 존재하는지 확인한 후, 함수를 호출하는 코드는 다음과 같습니다.

php

if(function_exists('함수명')) {

    함수명(); // 오류가 발생되는 부분

}



위 코드에서 함수명이 존재하지만, 함수를 호출하는 부분에서 오류가 발생하는 이유를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  22일 전



    function_exists 함수는 함수 이름을 문자열로 전달받아 함수가 존재하는지 확인합니다. 하지만 이 함수는 함수 이름을 문자열로 전달받기 때문에, 함수를 호출할 때는 함수 이름을 문자열로 전달하는 것이 아니라 함수 이름 자체를 사용해야 합니다.

    예를 들어, function_exists('함수명')을 사용하여 함수가 존재하는지 확인한 후, 함수를 호출하는 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    if(function_exists('함수명')) {
    
        함수명(); // 오류가 발생되는 부분
    
    }
    
    


    위 코드에서 함수명이 존재하지만, 함수를 호출하는 부분에서 오류가 발생하는 이유는 함수 이름을 문자열로 전달하지 않았기 때문입니다. 함수 이름을 문자열로 전달해야 function_exists 함수가 함수를 찾을 수 있기 때문입니다.

    따라서, 함수를 호출할 때는 함수 이름을 문자열로 전달하는 대신 함수 이름 자체를 사용해야 합니다. 예를 들어, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    if(function_exists('함수명')) {
    
        function명(); // 오류가 발생되는 부분
    
    }
    
    


    또는, 함수 이름을 변수에 저장한 후 변수를 사용하여 함수를 호출할 수도 있습니다.

    #hostingforum.kr
    php
    
    $함수명 = '함수명';
    
    if(function_exists($함수명)) {
    
        $함수명(); // 오류가 발생되는 부분
    
    }
    
    


    이러한 방법으로 함수를 호출할 때 함수 이름을 문자열로 전달하지 않도록 하여 오류를 방지할 수 있습니다.

    2025-05-09 06:42

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

검색

게시물 검색