PHP 支持按值传递参数(默认),通过引用传递和默认参数值。可变长度参数列表仅在
PHP4 和后续版本中被支持。
(1)值传递参数。按值进行参数传递是PHP 的默认传递方式。使用这个方法,必须在主
程序调用时传递一个值(参数)。
实例2-62 值传递参数
本实例演示如何通过值来传递参数,调用函数,实现了将两个数相加,如代码2-66 所示。
【代码2-66】 sum.php

<?php
 function sum ($a,$b)
 {
 Echo $a+$b;
 }
 sum(10,20); //开始调用该函数
 ?>

按值传递,比较容易理解,即直接将数据传递到函数。
(2)引用传递。在按照值传递的时候,只有参数的副本传递给被调用的函数。但是在被
调用函数内部对这些值的任何修改,都不会影响调用函数中的原始值。引用传递其实也就是
地址传递,将一个变量的地址作为参数传递。
实例2-63 修改变量的值
本实例演示了在函数内部修改一个参数的值,而实际并没有修改到该参数变量真正的结
果,如代码2-67 所示。
【代码2-67】 valuechange.php

<?php
 $myNum=100;
 function Valuechange ($number){
 $number=$number+1;
 Echo $number . "<br>";
 }
 Valuechange($myNum);
 Echo $myNum;
 ?>


执行结果如图2-58 所示。
图2-58 修改参数值
从上面的结果可以看出,虽然在函数内部将变量$number 的值增加了,但是实际上并没
有改变$myNum 的值。
很多时候,将一个参数传递给函数,而且该参数的新值要返回给调用程序,由于值传递
不能实现,可以通过引用传递来进行。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
  <head>
   <title> valuechange2.php </title>
   <meta charset="UTF-8">
   <meta name="Author" content="">
   <meta name="Keywords" content="">
   <meta name="Description" content="">
  </head> <body>
<?php
 $myNum=100;
 function Valuechange ($number)
 {
 $number=$number+1;
 Echo $number . "<br>";
 }
 Valuechange(&$myNum);
 Echo $myNum;
 ?> </body>
 </html>101
 101