日期:2014-05-16  浏览次数:20498 次

自定义函数这样中的形参如何理解
下面是某个类中的一段代码
static function start(PDO $pdo){
self::init($pdo);
session_set_save_handler(
array(__CLASS__,"open"),
array(__CLASS__,"close"),
array(__CLASS__,"read"),
array(__CLASS__,"write"),
array(__CLASS__,"destroy"),
array(__CLASS__,"gc")
);

session_start();
}

该 函数中的PDO 做为形参,对此很疑惑,因为我理解函数的作用就是传参,返回传递回来的值的结果,而这种字符串如何传呢

------解决方案--------------------
形参有三种:值传递,引用传递和默认参数传递三种机制。
(1)值传递
<?php
function sum ($a,$b)
{
    Echo $a+$b;
}
sum(10,20);  //开始调用该函数
?>
(2)引用传递

<?php
$myNum=100;
function Valuechange ($number)
{
    $number=$number+1;
Echo $number . "<br>";
}
Valuechange(&$myNum);
Echo $myNum;
?>
结果:101,101
(3)默认参数传递
<?php
function hobby($style = "运动")
{
return "我喜欢 $style<br>";
}
echo hobby ();
echo hobby ("唱歌");
?>
结果:我喜欢运动
      我喜欢唱歌