programing

PHP 함수가 정수를 요청할 때 부울 인수를 허용하는 이유는 무엇입니까?

instargram 2023. 9. 19. 20:46
반응형

PHP 함수가 정수를 요청할 때 부울 인수를 허용하는 이유는 무엇입니까?

WordPress 교재를 읽고 있었는데 다음 기능에 대한 간단한 설명을 발견했습니다.

function is_super_admin( $user_id = false ) {...

이 기능은 사용자가 사이트 관리자인지 여부를 결정합니다.

하지만, 제 질문은 PHP가 파라미터를 어떻게 다루는지에 대한 것입니다.

위 함수는 정수 매개 변수를 받고, 만약 당신이 그것에 아무것도 전달하지 않는다면, 그것은 기본값을 할당할 것입니다.FALSE.

제 질문은 이렇습니다.

FALSEBOOLEAN데이터 유형, 그리고 이 함수는 다음을 수용해야 합니다.INTEGER자료형.

그렇다면 정수 값을 제공해야 하는데 부울 값을 제공하는 것을 어떻게 허용할 수 있습니까?

PHP 7은 스칼라 타입 선언을 도입했습니다.

그것들은 두 가지 맛으로 나옵니다: 강압적인 (기본값)과 엄격한.이제 매개 변수에 대해 문자열( 문자열), 정수(int), 부동 소수점 숫자(float) 및 부울(boolean)과 같은 유형을 적용할 수 있습니다.PHP 5에 도입된 다른 유형인 클래스 이름, 인터페이스, 배열 및 호출 가능을 증가시킵니다.

다음줄

function is_super_admin( $user_id = false ) { . . . .

매개 변수의 유형을 지정하지 않습니다.그 대신에 그랬다면:

function is_super_admin( int $user_id = false ) { . . . .

그러면 오류가 발생합니다.

단순한 방법으로 유효한 값을 확인하는 것이 더 쉽기 때문에 기본값은 false로 되어 있다고 생각합니다.if0과 같은 false 및/또는 int 모두 false로 평가되기 때문입니다.

PHP 7의 새로운 기능에 대한 자세한 내용은 여기에 있습니다.

언급URL : https://stackoverflow.com/questions/45276004/why-can-php-functions-accept-boolean-arguments-when-it-asks-for-integers

반응형