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程序设计有所帮助。

(0)

相关推荐

  • php函数间的参数传递(值传递/引用传递)

    php:函数间的参数传递 1.值传递 复制代码 代码如下: <?php function exam($var1){ $var1++: echo "In Exam:" . $var1 . "<br />"; } $var1 = 1; echo $var1 . "<br />"; exam($var1); echo $var1 . "<br />"; ?> -------------

  • PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)

    本文实例讲述了PHP自定义函数用法.分享给大家供大家参考,具体如下: Demo1.php <?php //标准函数,内置函数 echo md5('123456'); echo '<br/>'; echo sha1('123456'); echo '阅谁问君诵,水落清香浮.'; ?> Demo2.php <?php //创建函数,不要跟系统的内置函数重名 //函数有个特性,必须调用,才可以执行 //无参数表示()里面是空的,无返回就是函数的程序里没有 return functi

  • php定义参数数量可变的函数用法实例

    本文实例讲述了php定义参数数量可变的函数用法.分享给大家供大家参考.具体分析如下: php中的的函数参数可以不固定,甚至不用定义参数,在函数内部使用func_get_args()函数获得参数列表,调用时可以为函数指定任意参数,非常方便 <?php function addanything (){ $total = 0; $args = func_get_args (); for ($i = 0; $i < count ($args); $i++){ if (is_int ($args[$i]

  • php可变长参数处理函数详解

    本文实例讲述了php可变长参数处理函数.分享给大家供大家参考,具体如下: 与C++一样,PHP中也可以对含有可变参数的函数进行处理,道理都一样,需要函数来专门处理参数列表.PHP中提供了三个相关的函数: 1. func_num_args()  -- 返回传递给函数的参数个数 int func_num_args ( void ) 示例: function open_database($DB, $cache_size_or_values=null, $cache_size=null) { switc

  • PHP通过引用传递参数用法分析

    本文实例讲述了PHP通过引用传递参数用法.分享给大家供大家参考,具体如下: 先看一个手册上的示例: <?php function add_some_extra(&$string) // 引入变量,使用同一个存储地址 { $string .= 'and something extra.'; } $str = 'This is a string, '; add_some_extra($str); echo $str; // outputs 'This is a string, and somet

  • php指定函数参数默认值示例代码

    例1 复制代码 代码如下: <html><head><title>php函数指定默认值-www.jb51.net</title></head><body><?phpfunction printMe($param = NULL){   print $param;}printMe("This is test");printMe();?> </body></html> 输出结果:Thi

  • php 获取可变函数参数的函数

    func_num_args() 返回传递给该函数参数的个数 func_get_arg($arg_num) 取得指定位置的参数值,$arg_num位置index从0开始n-1. func_get_args() 返回包含所有参数的数组

  • PHP错误抑制符(@)导致引用传参失败Bug的分析

    看下面的例子: 复制代码 代码如下: <?php $array = array(1,2,3); function add (&$arr) { $arr[] = 4; } add(@$array); print_r($array); /** 此时, $array没有改变, 输出: Array ( [0] => 1 [1] => 2 [2] => 3 ) */ add($array); print_r($array); /** 不使用错误抑制的情况下, 输出正常: Array

  • php函数与传递参数实例分析

    本文实例讲述了函数的调用与函数定义语法,并讲解了关于函数中的变量以及向函数传递数值方法.分享给大家供大家参考.具体如下: 一.函数的基础 php提供了大量的函数,并且允许用户自定函数,php函数定义实例代码如下: 复制代码 代码如下: <?php function myCount($inValue1,$inValue2) {   $AddValue = $inValue1+$inValue2;   return $AddValue;     //返回计算结果 } $Count = myCount

  • php 函数使用可变数量的参数方法

    php在用户自定义函数中支持可变数量的参数列表. 在php5.5及更早的版本中,使用func_num_args(), func_get_arg(), func_get_args()函数实现. <?php function myfunc(){ // 获取参数数量 echo func_num_args().PHP_EOL; // 获取第一个参数的值: print_r(func_get_arg(0)); echo PHP_EOL; // 获取所有参数的值 print_r(func_get_args()

随机推荐