搜索
首页后端开发php教程php函数之默认参数函数

php默认参数函数介绍

在PHP中,支持函数的默认方式调用,即为参数指定一个默认值。上一节介绍了php函数之引用参数函数,在调用函数时如果没有指定参数的值,在函数中会使用参数的默认值。默认值必须是常量的表达式,不能是变量、类成员或者函数调用。PHP还允许使用数组和特殊类型 NULL 作为默认参数。

php默认参数的函数格式说明如下:

mixed funName(string name[, string value [, int expire]])    //参数列表中出现使用 [ ] 描述参数

在定义函数时声明了参数,而在调用函数时没有指定参数或是少指定了参数,就会出现缺少参数的警告。

下面通过一个实例来对默认参数进行说明:

<?php
 //自定义一个函数person,用于打印一个人的属性
 function person($name="张三", $age=20, $sex="男"){
   echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
 }
 person();               //全部使用默认参数
 person("李四");            //第一个默认参数被覆盖,后面两个参数为默认
 person("李四",22);          //前两个默认参数被覆盖,后面一个参数为默认
 person("李四",22,"女");        //三个默认参数都被覆盖
?>

该程序执行后输出结果如下:

姓名:张三, 年龄:20, 性别:男 

姓名:李四, 年龄:20, 性别:男 

姓名:李四, 年龄:22, 性别:男 

姓名:李四, 年龄:22, 性别:女 

在上面的实例中声明了一个名为 person() 并带有三个参数的函数,其中的三个参数都被默认附上了初始值,即默认参数。在调用该函数时,如果少传或者不传参数,参数将使用默认的值。如果用户在调用函数时传值,则使用传入的值。

 当调用函数传递参数时,实参和形参是按照顺序对应传递数据的,如果实参数少于形参,则右边的形参不会被传值。当使用默认参数时,任何 默认参数必须放在任何非默认参数的右侧,否则,可能函数将不会按照预期的情况进行工作。

例如,下面的函数声明就是函数默认参数不正确的用法。后面两个参数没有被传值,也没有默认值,在调用时出现警告。

下面通过一个例子来说明:

<?php
 //自定义一个函数person,用于打印一个人的属性
 function person($name="张三", $age, $sex){
   echo "姓名:{$name}, 年龄:{$age}, 性别:{$sex} <br>";
 }
 person("李四");    //第一个默认参数被覆盖,后面两个参数没有传值,会出现两条警告信息
?>

说明:只需要将函数头部的参数列表中,默认参数列在所有没有默认值的参数的后面,该程序就可以正确的执行。在上面的代码中,函数 person() 在调用时,前两个参数时必须传值的参数,如果不传之则会出现错误;而最后一个参数是可选的参数,如果不传值则使用默认的值。

【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.  php编程从入门到精通全套视频教程

3.  php实战视频教程

以上是php函数之默认参数函数的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
使用PHP发送电子邮件的最佳方法是什么?使用PHP发送电子邮件的最佳方法是什么?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

PHP中依赖注入的最佳实践PHP中依赖注入的最佳实践May 08, 2025 am 12:21 AM

使用依赖注入(DI)的原因是它促进了代码的松耦合、可测试性和可维护性。1)使用构造函数注入依赖,2)避免使用服务定位器,3)利用依赖注入容器管理依赖,4)通过注入依赖提高测试性,5)避免过度注入依赖,6)考虑DI对性能的影响。

PHP性能调整技巧和技巧PHP性能调整技巧和技巧May 08, 2025 am 12:20 AM

phperformancetuningiscialbecapeitenhancesspeedandeffice,whatevitalforwebapplications.1)cachingwithapcureduccureducesdatabaseloadprovesrovesponsemetimes.2)优化

PHP电子邮件安全性:发送电子邮件的最佳实践PHP电子邮件安全性:发送电子邮件的最佳实践May 08, 2025 am 12:16 AM

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

您如何优化PHP应用程序的性能?您如何优化PHP应用程序的性能?May 08, 2025 am 12:08 AM

TOOPTIMIZEPHPAPPLICITIONSFORPERSTORANCE,USECACHING,数据库imization,opcodecaching和SererverConfiguration.1)InlumentCachingWithApcutCutoredSatfetchTimes.2)优化的atabasesbasesebasesebasesbasesbasesbaysbysbyIndexing,BeallancingAndWriteExing

PHP中的依赖注入是什么?PHP中的依赖注入是什么?May 07, 2025 pm 03:09 PM

依赖性注射inphpisadesignpatternthatenhancesFlexibility,可检验性和ManiaginabilybyByByByByByExternalDependencEctenceScoupling.itallowsforloosecoupling,EasiererTestingThroughMocking,andModularDesign,andModularDesign,butquirscarecarefulscarefullsstructoringDovairing voavoidOverOver-Inje

最佳PHP性能优化技术最佳PHP性能优化技术May 07, 2025 pm 03:05 PM

PHP性能优化可以通过以下步骤实现:1)在脚本顶部使用require_once或include_once减少文件加载次数;2)使用预处理语句和批处理减少数据库查询次数;3)配置OPcache进行opcode缓存;4)启用并配置PHP-FPM优化进程管理;5)使用CDN分发静态资源;6)使用Xdebug或Blackfire进行代码性能分析;7)选择高效的数据结构如数组;8)编写模块化代码以优化执行。

PHP性能优化:使用OpCode缓存PHP性能优化:使用OpCode缓存May 07, 2025 pm 02:49 PM

opcodecachingsimplovesphperforvesphpermance bycachingCompiledCode,reducingServerLoadAndResponSetimes.1)itstorescompiledphpcodeinmemory,bypassingparsingparsingparsingandcompiling.2)useopcachebachebachebachebachebachebachebysettingparametersinphametersinphp.ini,likeememeryconmorysmorysmeryplement.33)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。