PHP 스칼라 유형 및 반환 값 유형 선언
스칼라 유형 선언
기본적으로, PHP 파일 모두 약한 타입 검사 모드에있다.
PHP 7 특징 스칼라 타입 선언 스칼라 타입 선언은 두 가지 모드가 증가 :
- 강제 모드 (기본)
- 엄격 모드
스칼라 유형 선언 구문 :
declare(strict_types=1);
0 약한 타입 검사 모드를 나타내는 값 (1 또는 0) 일 엄격한 타입 검사 모드에서, 함수 호출의 역할과 문 수익을 지정하여 Strict_types 번호.
유형 매개 변수를 사용할 수 있습니다 :
INT
플로트
부울
현
인터페이스
배열
호출
적용 모드로서는
예
<? php에
// 시행 모드
함수 합 (INT ... $ 정수를)
{
($ 정수)를 array_sum 반환;
}
인쇄 (SUM (2 ', 3 '4.1));
?>
// 시행 모드
함수 합 (INT ... $ 정수를)
{
($ 정수)를 array_sum 반환;
}
인쇄 (SUM (2 ', 3 '4.1));
?>
위의 프로그램 실행 출력은 다음과 같습니다
9
4 4.1 정수로 변환 한 후 합산 요약 파라미터의 예.
엄격 모드의 예
예
<? php에
// 엄격 모드
선언 (strict_types = 1);
함수 합 (INT ... $ 정수를)
{
($ 정수)를 array_sum 반환;
}
인쇄 (SUM (2 ', 3 '4.1));
?>
// 엄격 모드
선언 (strict_types = 1);
함수 합 (INT ... $ 정수를)
{
($ 정수)를 array_sum 반환;
}
인쇄 (SUM (2 ', 3 '4.1));
?>
때문에 엄격 모드의 위의 프로그램, 사용자가 입력하는 경우가 주어지고 몸이 정수 매개 변수를 표시하므로, 실행의 출력은 다음과 같습니다
PHP Fatal error: Uncaught TypeError: Argument 2 passed to sum() must be of the type integer, string given, called in……
반환 유형 선언
PHP 7은 함수의 반환 값 유형 선언의 반환 유형을 나타냅니다, 반환 형식 선언에 대한 지원을 추가합니다.
선언 할 수 있습니다 반환 유형은 다음과 같습니다
INT
플로트
부울
현
인터페이스
배열
호출
반환 유형 선언 예
예를 들어, 정수로 반환하도록 요청 :
예
<? php에
선언 (strict_types = 1);
기능 returnIntValue (INT의 $ 값) : INT
{
$ 값을 반환;
}
인쇄 (returnIntValue (5));
?>
선언 (strict_types = 1);
기능 returnIntValue (INT의 $ 값) : INT
{
$ 값을 반환;
}
인쇄 (returnIntValue (5));
?>
위의 프로그램 실행 출력은 다음과 같습니다
5
오류 리턴 타입 선언의 예 예
<? php에
선언 (strict_types = 1);
기능 returnIntValue (INT의 $ 값) : INT
{
반환 $ 값 + 1.0;
}
인쇄 (returnIntValue (5));
?>
예
<? php에
선언 (strict_types = 1);
기능 returnIntValue (INT의 $ 값) : INT
{
반환 $ 값 + 1.0;
}
인쇄 (returnIntValue (5));
?>
선언 (strict_types = 1);
기능 returnIntValue (INT의 $ 값) : INT
{
반환 $ 값 + 1.0;
}
인쇄 (returnIntValue (5));
?>
상기 프로그램은 엄격한 모드 때문에, 반환 값은 INT해야하지만 결과를 플로트가 주어질 것이다되어 실행 출력된다 :
Fatal error: Uncaught TypeError: Return value of returnIntValue() must be of the type integer, float returned...