2017-01-19 1 views
1

나는 사람이 이런 식으로 코드를 작성 것을 발견? 트릭이나 뭐야? stringbool 또는 array 또는 int으로 변경하면 어떻게됩니까?어떻게 PHP 함수에서 콜론을 사용하여

우리는 왜 : xxx이 필요한지 이해할 수 없으며 언제 사용해야합니까? 반환 형식 선언, PHP 7

당신은 콜론 뒤에 볼 수있는 형태로 도입 된 기능입니다

+0

그냥 반환 유형을 정의합니다. –

+0

http://php.net/manual/en/functions.returning-values.php – apokryfos

답변

5

는 기능으로 반환되는 유형입니다.

두 가지 옵션이 있습니다.
기본적으로 반환 된 값은 반환해야하는 형식으로 변환됩니다.
귀하의 경우에는 항상 문자열로 변환됩니다.

엄격한 입력을 사용하는 경우 (declare(strict_types=1);) 출력을 문자열로 지정해야하며 그렇지 않으면 TypeError가 throw됩니다.

어느 쪽이든 : 개발자는 항상 반환 유형이이 경우 문자열임을 확신합니다.

반환 형식을 정의 할 필요는 없으므로 원하지 않으면 그대로 둘 수 있습니다. 이 경우 리턴 유형은 무엇이든 될 수 있습니다.

+0

에서 설명을 확인하십시오. 설명 주셔서 감사합니다. – user7440009

0

반환 유형 선언입니다. 예제에서 함수는 문자열을 반환해야 함을 의미합니다. 반환 값이 stringable이면 (예 : __toString()이 정의 된 객체) 문자열로 변환됩니다. 그렇지 않으면 오류가 발생합니다.

0

함수의 반환 유형이 선언되었습니다.

function foo (int $bar) : string { } 

int $bar 부분은 $ 줄 매개 변수는 정수 여야 있다고하고 : string 부분은 함수는 문자열을 반환 할 것이라고 말했습니다. 함수가 int를 전달하지 않거나 문자열을 반환하지 않으면 TypeError가 발생합니다.

관련 문제