당신은 자신을 아주 쉽게 테스트 할 수 :
네
function lacks_return(): void {
}
function returns_nothing(): void {
return;
}
echo gettype(lacks_return()); // NULL
echo gettype(returns_nothing()); // NULL
그래서 대답은 - 당신이 빈 반환을 사용하거나 완전히 건너 뛸 수있는 하나 있도록 암시 빈 (NULL) 반환이있다. 어떤 종류의 의미가 있습니다 - 아무 것도 반환하지 않는 것은 반환하지 않는 것과 같습니다.
/* `return ...;` is illegal in a void function (but `return;` isn't) */
if (return_info->type_hint == IS_VOID) {
if (expr) {
if (expr->op_type == IS_CONST && Z_TYPE(expr->u.constant) == IS_NULL) {
zend_error_noreturn(E_COMPILE_ERROR,
"A void function must not return a value "
"(did you mean \"return;\" instead of \"return null;\"?)");
} else {
zend_error_noreturn(E_COMPILE_ERROR, "A void function must not return a value");
}
}
/* we don't need run-time check */
return;
}
그렇지 않으면, void
기능의 컴파일이 정상처럼 작동 : 그들은 반환 값을 지정하면
'이 기능은 또한 암시 공백을 반환'- 예 –
NULL http://ideone.com?/AXErws 또는 https://3v4l.org/RJRoR –