ホームページ > バックエンド開発 > PHPチュートリアル > php如何定义一个可以接受null的函数

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-06 20:50:51
オリジナル
1176 人が閲覧しました

我定义一个接受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 までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート