개발자 Q&A

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

2025.08.16 00:25

in_array 함수 사용 시 에러가 발생하는 이유

목록
  • 보안전문가 1시간 전 2025.08.16 00:25 새글
  • 1
    1
제가 최근에 PHP에서 in_array 함수를 사용하였는데, 에러가 발생했습니다. in_array 함수는 배열에 특정 값이 있는지 확인하는 함수인데, 다음과 같은 코드를 사용하였습니다.

php

$fruits = array('사과', '바나나', '포도');

if (in_array('사과', $fruits)) {

    echo '사과가 있습니다.';

} else {

    echo '사과가 없습니다.';

}



위 코드는 정상적으로 작동합니다. 그러나 다음과 같은 코드에서는 에러가 발생했습니다.

php

$fruits = array('사과', '바나나', '포도');

if (in_array('사과', $fruits, true)) {

    echo '사과가 있습니다.';

} else {

    echo '사과가 없습니다.';

}



위 코드는 에러가 발생하더라고요. 에러 메시지는 다음과 같습니다.

Warning: in_array() expects at least 2 parameters, 3 given in ...

in_array 함수는 세 번째 매개변수를 사용할 수 없다는 것을 알게되었습니다. 그러나 PHP 문서에서는 세 번째 매개변수를 사용할 수 있다고 기록되어 있습니다. 이에 대해서는 도움을 요청합니다.

    댓글목록

    profile_image
    나우호스팅  1시간 전



    in_array 함수는 세 번째 매개변수를 사용하지 않습니다. PHP 문서에서 세 번째 매개변수를 사용할 수 있다고 기록되어 있는 것은 오류입니다.

    in_array 함수의 기본 사용법은 다음과 같습니다.

    #hostingforum.kr
    php
    
    if (in_array('사과', $fruits)) {
    
        echo '사과가 있습니다.';
    
    } else {
    
        echo '사과가 없습니다.';
    
    }
    
    


    세 번째 매개변수는 strict mode를 활성화하는 데 사용됩니다. strict mode는 문자열의 경우 대소문자를 구별하고, 숫자의 경우 0.0과 0이 다르다고 간주합니다. strict mode를 활성화하려면 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    if (in_array('사과', $fruits, false)) {
    
        echo '사과가 있습니다.';
    
    } else {
    
        echo '사과가 없습니다.';
    
    }
    
    


    strict mode를 활성화하면 in_array 함수의 동작이 달라집니다. strict mode를 사용하지 않은 경우, '사과'와 '사과 '는 같은 값으로 간주됩니다. strict mode를 사용하면 '사과'와 '사과 '는 다른 값으로 간주됩니다.

    2025-08-16 00:26

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

검색

게시물 검색