PHP编程指南(五)函数
2018-04-16 本文已影响20人
爱吃馒头的二饼
定义函数的语法
function functionname(){
}
带参数的函数示例:
<?php
function login($username,$password) {
echo "{$username}登录成功,密码是{$password}";
}
login("hansion","123456");
?>
此处需要注意的是,在字符串内部输出变量时,尽量使用大括号包裹(或者后面跟上空格或者逗号),否则很容易让浏览器分不清变量的名称,如上文去掉大括号后会报错,这是因为浏览器认为“$username登录成功”是一个变量的名字,并且没有找到

值传递
<?php
function login($username,$password) {
$username .= "1234";
echo "{$username}登录成功,密码是{$password}</br>";
}
$myName = "hansion";
login($myName,"123456");
echo "调用函数后,myName的值为{$myName}";
?>
和java一样,修改值仅作用于局部变量$myName,并不会影响到$myName

引用传递
我们将上方值传递的代码稍加改动,在参数$username前增加一个&符号,表示变量的引用
<?php
function login(&$username,$password) {
$username .= "1234";
echo "{$username}登录成功,密码是{$password}</br>";
}
$myName = "hansion";
login($myName,"123456");
echo "调用函数后,myName的值为{$myName}";
?>
此时,传入方法中的就是$myName的引用,赋值给了$username,所以对$username的修改会影响到$myName

参数默认值
在参数后面添加默认值,如果调用函数时未传递参数,将使用此默认值
<?php
function login($username="Admin",$password="123456") {
echo "{$username}登录成功,密码是{$password}</br>";
}
login("wo");
?>
可变参数
在参数名称前使用3个省略号(点),代表可变参数
<?php
function login(...$num) {
$sum = 0;
foreach($num as $n) {
$sum += $n;
}
echo $sum;
}
login(1,2,3,4,5);
?>