PHP语言基础(五)----函数

1、函数的定义和调用

function fun_name($str1, $str2,...$strn){
	fun_body;
}


function:自定义函数时必须用到的关键字。
fun_name:自定义函数的名字。
$str1, $str2,...$strn:函数的参数。
fun_body:函数的主体,功能实现部分。

调用函数时,只需要调用函数名,并加上合适的参数即可。

<?php
	/*声明自定义函数*/
	function example ($num) {
		return "$num * $num =". $num * $num;
	}
	echo example(10);
?>

输出结果:

10 * 10 =100

2、函数间传递参数
按值传递、按引用传递、默认参数。
按值传递:将实参的值复制到对应的形参中,在函数内部的操作是针对形参进行的,不影响实参的值

<?php
	function example($m){
		$m = $m*5+10;
		echo "在函数内:\$m=".$m;
	}
	$m = 1;
	example($m);
	echo "<p>在函数外\$m=$m<p>";
?>

运行结果:

在函数内:$m=15
在函数外$m=1

按引用传递
将实参的内存地址传递给形参,这时在函数中操作的结果会影响到实参,返回后会影响到实参的值。

<?php
	function example(&$m){
		$m = $m*5+10;
		echo "在函数内:\$m = ".$m;
	}
	$m = 1;
	example($m);
	echo "<p>在函数外:\$m = $m<p>";
?>

运行结果:

在函数内:$m = 15
在函数外:$m = 15

默认参数(可选参数)
自行设置参数,可以指定某个参数为可选参数。将可选参数放在列表的末尾,并制定默认值为空。

<?php
	function values($price, $tax=""){//定义一个函数,其中一个参数初始值为空
		$price = $price+($price*$tax);
		echo "价格:$price<br>";
	}
	values(100,0.25);//可选参数赋值为0.25
	values(100);//没有给可选参数。
?>

输出结果:

价格:125
价格:100

注意:默认参数放在非默认参数右边,防止函数出错。PHP5之后默认值可以通过引用传递

3、函数中返回值
函数将返回值传递给调用者的方式是使用关键字 return()。
使用return()关键字会终止脚本运行。

<?php
	function values($price, $tax=0.45){
		$price=$price+($price*$tax);
		return $price;
	}
	echo values(100);
?>

输出结果:

145

return()只能返回一个值,若想返回多个值,需要定一个一个数组,将返回值存在数组中进行返回。

4、变量函数

<?php
	function come(){
		echo "来了<p>";
	}
	function go($name = "Jack"){
		echo "$name 走了<p>";
	}
	function back($string){
		echo "又回来了,$string<p>";
	}
	$func = "come";
	$func();
	$func = "go";
	$func("Tom");
	$func = "back";
	$func("Lily");
?>

输出结果:

来了
Tom 走了

又回来了,Lily

5、对函数的引用
对函数的引用就是对函数返回值的引用。

<?php
	function &example($tmp=0){
		return $tmp;
	}
	$str = &example("看到了");
	echo $str."<p>";
?>

输出结果:

看到了

注意:这里必须两个地方都使用&

6、取消引用
当不再需要引用时,可以取消引用。取消引用使用unset()函数,断开变量名变量之间的绑定,而不是销毁变量内容。

<?php
	$num = 1234;
	$math = &$num;
	echo "\$math is:".$math."<br>";
	unset($math);
	echo "\$math is:".$math."<br>";
	echo "\$num is:".$num;
?>

输出结果:

$math is:1234
$math is:
$num is:1234
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值