开发者社区> suboysugar> 正文

PHP函数中默认参数的的写法

简介: 函数可以定义 C++ 风格的标量参数默认值,如下所示: Example #3 在函数中使用默认参数 以上例程会输出: Making a cup of cappuccino. Making a cup of . Making a cup of espresso. PHP 还允许使用数组 array 和特殊类型 NULL 作为默认参数,例如: Example #4 使用非标量类型作为默认参数 默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等。
+关注继续查看
函数可以定义 C++ 风格的标量参数默认值,如下所示:

Example #3 在函数中使用默认参数

<?php
function makecoffee($type = "cappuccino")
{
    return "Making a cup of $type.\n";
}
echo makecoffee();
echo makecoffee(null);
echo makecoffee("espresso");
?>
以上例程会输出:

Making a cup of cappuccino.
Making a cup of .
Making a cup of espresso.
PHP 还允许使用数组 array 和特殊类型 NULL 作为默认参数,例如:

Example #4 使用非标量类型作为默认参数

<?php
function makecoffee($types = array("cappuccino"), $coffeeMaker = NULL)
{
    $device = is_null($coffeeMaker) ? "hands" : $coffeeMaker;
    return "Making a cup of ".join(", ", $types)." with $device.\n";
}
echo makecoffee();
echo makecoffee(array("cappuccino", "lavazza"), "teapot");
?>
默认值必须是常量表达式,不能是诸如变量,类成员,或者函数调用等。

注意当使用默认参数时,任何默认参数必须放在任何非默认参数的右侧;否则,函数将不会按照预期的情况工作。考虑下面的代码片断:

Example #5 函数默认参数的不正确用法

<?php
function makeyogurt($type = "acidophilus", $flavour)
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // won't work as expected
?>
以上例程会输出:

Warning: Missing argument 2 in call to makeyogurt() in 
/usr/local/etc/httpd/htdocs/phptest/functest.html on line 41
Making a bowl of raspberry .
现在,比较上面的例子和这个例子:

Example #6 函数默认参数正确的用法

<?php
function makeyogurt($flavour, $type = "acidophilus")
{
    return "Making a bowl of $type $flavour.\n";
}

echo makeyogurt("raspberry");   // works as expected
?>
以上例程会输出:

Making a bowl of acidophilus raspberry.
Note: 自 PHP 5 起,传引用的参数也可以有默认值。

 

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP可变个数参数的函数是干什么的?底层原理是什么?
PHP可变个数参数的函数是干什么的?底层原理是什么?
21 0
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
30 0
微信分享:后端参数获取PHP实现
微信分享:后端参数获取PHP实现
126 0
PHP: 数组转查询参数
PHP: 数组转查询参数
43 0
Java、Python、PHP、JavaScript函数接收不定参数
Java、Python、PHP、JavaScript函数接收不定参数
40 0
【PHP内置函数】http_build_query(数组转为url编码后的字符串,相当于mvc的后待参数)
【PHP内置函数】http_build_query(数组转为url编码后的字符串,相当于mvc的后待参数)
93 0
微信分享:后端参数获取PHP实现
微信分享:后端参数获取PHP实现
89 0
微信分享:后端参数获取PHP实现
微信分享:后端参数获取PHP实现
124 0
如何计算PHP函数中传递的参数数量
在开始本文之前不知道大家对PHP函数有多少了解,那如果你还是刚入门的新人我就推荐大家先看看PHP自学手册中的《PHP函数》章节,毕竟有句话说的好PHP的真正威力源自于它的函数~ 那么本文将给大家介绍关于函数的基础知识:计算PHP函数中传递的参数数量。 首先给大家简单介绍怎么创建函数:
90 0
你知道怎么在PHP中创建可选参数吗?
在上一篇《玩转PHP之快速生成二维码》中给大家介绍了怎么通过PHP快速生成二维码,感兴趣的朋友可以学习了解一下~ 本文的主题内容则是“如何在PHP中创建可选参数”? 有的人可能要问什么是“可选参数”? 可选参数就是指即使没有传递任何东西也不会阻止函数工作的参数,通俗一点的说法就是指有默认值的就是可选参数。
121 0
+关注
suboysugar
目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
复杂PHP系统性能瓶颈排查及优化
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多