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

yipeiwu_com5年前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 PDO和消息队列的个人理解与应用实例分析

本文实例讲述了PHP PDO和消息队列的个人理解与应用。分享给大家供大家参考,具体如下:什么是消息队列,百度百科说,···消息队列····是在消息的传输过程中保存消息的容器。看着网上林林总...

将CMYK颜色值和RGB颜色相互转换的PHP代码

function hex2rgb($hex) { $color = str_replace('#','',$hex); $rgb = array('r' => hexdec(s...

php error_log 函数的使用

我们来大致了解一下error_log()函数。我们看下手册的解释: error_log(PHP 3, PHP 4, PHP 5) bool error_log ( string mess...

php不用正则采集速度探究总结

 注意:下面的所有函数都没有用正则。 以上为取出第一个匹配的三个函数,实现相同的目的 复制代码 代码如下:function str_cut($str ,$s...

浅析memcache启动以及telnet命令详解

1、启动Memcache 常用参数复制代码 代码如下:-p <num> 监听的TCP端口(默认: 11211)-U <num> UDP监听端口 (默认: 1121...