> 백엔드 개발 > PHP 튜토리얼 > php如何定义一个可以接受null的函数

php如何定义一个可以接受null的函数

WBOY
풀어 주다: 2016-06-06 20:50:51
원래의
1142명이 탐색했습니다.

我定义一个接受String参数的函数,但是调用的时候传一个null进去,php会报一个fatal error,但实际情况确实会出现null参数的情况,我要定义一个即制定了参数类型,又可以接受null的函数该怎么做?

<?php function foo (String $arg) {
    return ;
}

foo(null);
로그인 후 복사
로그인 후 복사

执行如下

>php t.php

Catchable fatal error: Argument 1 passed to foo() must be an instance of String, null given, called in /Users/jiajun/t.php on line 7 and defined in /Users/jiajun/t.php on line 3
로그인 후 복사
로그인 후 복사

回复内容:

我定义一个接受String参数的函数,但是调用的时候传一个null进去,php会报一个fatal error,但实际情况确实会出现null参数的情况,我要定义一个即制定了参数类型,又可以接受null的函数该怎么做?

<?php function foo (String $arg) {
    return ;
}

foo(null);
로그인 후 복사
로그인 후 복사

执行如下

>php t.php

Catchable fatal error: Argument 1 passed to foo() must be an instance of String, null given, called in /Users/jiajun/t.php on line 7 and defined in /Users/jiajun/t.php on line 3
로그인 후 복사
로그인 후 복사

这样写,当你不提供参数的时候,参数默认是null

<?php function foo ($arg = null) {
    return ;
}

foo();
로그인 후 복사

把String修饰去掉就行了。

如果你一定需要判断参数类型,可以用 is_string($arg) 来判断。

http://www.php.net/manual/en/language...

if NULL is used as the default parameter value, it will be allowed as an argument for any later call

手册里面已经说得很清楚了

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿