Heim >Backend-Entwicklung >PHP-Tutorial >自定义函数这样中的形参如何理解

自定义函数这样中的形参如何理解

WBOY
WBOYOriginal
2016-06-23 14:39:51980Durchsuche

下面是某个类中的一段代码

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 做为形参,对此很疑惑,因为我理解函数的作用就是传参,返回传递回来的值的结果,而这种字符串如何传呢


回复讨论(解决方案)

function start(PDO $pdo){
形参 $pdo
类型声明 PDO
即 start 方法必须传入一个基于 PDO 类的对象
如果不加类型声明(传统的做法是不加)可能需要自行检查传入的参数是否合适
但加了后,php解析器会帮你检查参数类型是否正确

function start(PDO $pdo){
形参 $pdo
类型声明 PDO
即 start 方法必须传入一个基于 PDO 类的对象
如果不加类型声明(传统的做法是不加)可能需要自行检查传入的参数是否合适
但加了后,php解析器会帮你检查参数类型是否正确
突然明白了,如果是形参要用逗号隔开才行,而这个代码没有,感觉版主说的有理。不过我还是有点晕,这种写法很多php教程里没有呢,我查一下手册。

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Yii调用mysql存储过程Nächster Artikel:统一编码