PHP函数按引用传递参数及函数可选参数用法示例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP函数按引用传递参数及函数可选参数用法。分享给大家供大家参考,具体如下:

一、函数按引用传递参数

1. 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>按引用传递方式</title>
</head>
<body>
<?php
function example( &$m ) //定义一个函数,同时传递参数$m的变量
{
  $m = $m * 5 + 10;
  echo "在函数内:\$m = ".$m;    //输出形参的值
}
$m = 1;
example( $m ) ;           //传值:将$m的值传递给形参$m
echo "<p>在函数外:\$m = $m <p>" ;  //实参的值发生变化,输出m=15
?>
</body>
</html>

2. 运行结果

在函数内:$m = 15
在函数外:$m = 15

3. 注意事项

按引用传递时,需要注意在函数的参数列表中比按值传递多一个&。

二、函数的可选参数

1. 代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=gb2312"/>
<title>默认参数的应用</title>
</head>
<body>
<?php
function values($price,$tax=""){//定义一个函数,其中的一个参数初始值为空
$price=$price+($price*$tax);//声明一个变量$price,等于两个参数的运算结果
echo "价格:$price<br>";//输出价格
}
values(100,0.25);//为可选参数赋值0.25
values(100);//没有给可选参数赋值
?>
</body>
</html>

2. 运行结果

价格:125
价格:100

3. 注意事项

① 可选参数放在参数列表末尾,并且指定其默认值为空。
② 当使用默认参数时,默认参数必须放在非默认参数的右侧,否则函数可能出错。
③ 从PHP5开始,默认也可以通过引用传递。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php常用函数与技巧总结》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP数组(Array)操作技巧大全

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php警告Creating default object from empty value 问题的解决方法

解决方法是找到报错的位置然后看哪个变量是没有初始化而直接使用的,将这个变量先实例化一个空类。如:复制代码 代码如下:$ct = new stdClass();修改文件相应代码,如:复制代...

php读取二进制流(C语言结构体struct数据文件)的深入解析

尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持。不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php...

初识php MVC

学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就是这样应运而生的,mvc分为了三个层次,而且三个...

PHP中让json_encode不自动转义斜杠“/”的方法

前言 最近将使用爬虫爬取的链接保存到 mysql 数据库中时,发现我将链接使用 json_encode 保存时候,在数据库中却显示了转义字符,我并不需要这转义的,看起来不清晰而且占用存储...

php购物网站支付paypal使用方法

详细参考: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_htm...