PHP 함수가 정수를 요청할 때 부울 인수를 허용하는 이유는 무엇입니까?
WordPress 교재를 읽고 있었는데 다음 기능에 대한 간단한 설명을 발견했습니다.
function is_super_admin( $user_id = false ) {...
이 기능은 사용자가 사이트 관리자인지 여부를 결정합니다.
하지만, 제 질문은 PHP가 파라미터를 어떻게 다루는지에 대한 것입니다.
위 함수는 정수 매개 변수를 받고, 만약 당신이 그것에 아무것도 전달하지 않는다면, 그것은 기본값을 할당할 것입니다.FALSE
.
제 질문은 이렇습니다.
FALSE
가BOOLEAN
데이터 유형, 그리고 이 함수는 다음을 수용해야 합니다.INTEGER
자료형.
그렇다면 정수 값을 제공해야 하는데 부울 값을 제공하는 것을 어떻게 허용할 수 있습니까?
PHP 7은 스칼라 타입 선언을 도입했습니다.
그것들은 두 가지 맛으로 나옵니다: 강압적인 (기본값)과 엄격한.이제 매개 변수에 대해 문자열( 문자열), 정수(int), 부동 소수점 숫자(float) 및 부울(boolean)과 같은 유형을 적용할 수 있습니다.PHP 5에 도입된 다른 유형인 클래스 이름, 인터페이스, 배열 및 호출 가능을 증가시킵니다.
다음줄
function is_super_admin( $user_id = false ) { . . . .
매개 변수의 유형을 지정하지 않습니다.그 대신에 그랬다면:
function is_super_admin( int $user_id = false ) { . . . .
그러면 오류가 발생합니다.
단순한 방법으로 유효한 값을 확인하는 것이 더 쉽기 때문에 기본값은 false로 되어 있다고 생각합니다.if
0과 같은 false 및/또는 int 모두 false로 평가되기 때문입니다.
PHP 7의 새로운 기능에 대한 자세한 내용은 여기에 있습니다.
언급URL : https://stackoverflow.com/questions/45276004/why-can-php-functions-accept-boolean-arguments-when-it-asks-for-integers
'programing' 카테고리의 다른 글
데이터 집약적 PL/SQL 응용 프로그램을 테스트하는 방법(단위) (0) | 2023.09.19 |
---|---|
MVC 모델 데이터 가져오기 및 각도 전달JS컨트롤러 (0) | 2023.09.19 |
Protractor - 브라우저를 사용할 위치입니다.WaitFor Angular() (0) | 2023.09.19 |
$http response Set-Cookie에 액세스할 수 없습니다. (0) | 2023.09.19 |
true 또는 false 대신 1 또는 0을 기준으로 Spring @RequestParam 매핑 부울 (0) | 2023.09.19 |