1.9函数

函数

  1. 函数就是一段代码块
  2. 函数可以实现模块化编程
  3. 可以多次调用

函数的定义

function 函数名(参数1,参数2,...){
    
    
	//函数体
}

通过函数名()调用函数,

<?php
function show(){
    
    
	echo '锄禾日当午<br>';
}
show(); //锄禾日当午
SHOW(); //函数名不区分大小写
?>

可变函数

<?php
function show($args){
    
    
	echo $args,'<br>';
}
show('锄禾日当午'); 
?>

匿名函数

<?php
//匿名函数
$fun=function(){
    
    
	echo '锄禾日当午';
};
//匿名函数调用
$fun();
?>

参数传递

函数的参数有形式参数和实际参数

  • 形参是定义函数时候的参数,只起形式的作用,没有具体的值
  • 实际参数的调用函数的时候的参数,有具体的值
<?php
function fun($num1,$num2){
    
    
	echo $num1+$num2;
}
fun(10,20); //30

默认情况下,参数的传递是值传递

<?php
$num=10;
function fun($args){
    
    
	echo $args=100,'<br>';
}
fun($num); //100
echo $num; //10
?>

地址传递

<?php
$num=10;
function fun(&$args){
    
    //地址传递
	echo $args=100,'<br>';
}
fun($num); //100
echo $num; //100
?>

参数的默认值

  1. 在定义函数的时候给形参赋值就是参数的默认值
<?php
function fun($name,$add='地址不祥'){
    
    
	echo '姓名:'.$name.'<br>';
	echo '地址: '.$add.'<hr>';
}
fun('tom','北京');
fun('berry');
?>

在这里插入图片描述
2. 默认值必须是值,不能用变量代替

<?php
$str='地址不详';
function fun($name,$add=$str){
    
    //错误 
	echo '姓名:'.$name.'<br>';
	echo '地址: '.$add.'<hr>';
}
fun('berry');
?>
  1. 默认值可以使用常量
<?php
define('ADD','地址不详');
function fun($name,$add=ADD){
    
      //默认值可以使用常量
	echo '姓名:'.$name.'<br>';
	echo '地址: '.$add.'<hr>';
}
fun('berry');
?>
  1. 有默认值得写在后面,没有默认值得写在前面

参数个数不匹配

<?php
function fun($num1,$num2){
    
    
	echo $num1,'<br>';
	echo $num2,'<br>';
}
//fun(10);  //实参少于形参(报错)
fun(10,20,30);//实参多余形参,只取前面对应的值
?>

获取所有传递的参数

<?php
function fun(){
    
    
	//echo func_num_args(),'<br>'; //func_num_args获取参数的个数
	$args=func_get_args(); //获取参数数组
	print_r($args);
}
fun(10);
fun(10,20);
fun(10,20,30);

参数约束

  1. 定长变长参数
...$hobby包含了除了前面两个参数以外的所有参数
<?php
function fun($name,$age,...$hobby){
    
    
	echo '姓名:'.$name.'<br>';
	echo '年龄:'.$age.'<br>';
	print_r($hobby);
	echo '<hr>';	
}

fun('tom',22);
fun('berry',23,'吃饭','睡觉');
?>

在这里插入图片描述
2. 参数类型约束

<?php
function fun(string $name,int $age){
    
    //约束$name是字符串类型,$age是整型
	echo '姓名:'.$name.'<br>';
	echo '年龄:'.$age.'<br>';
}

fun('tom',22);
?>

return

1.终止脚本执行

<?php
echo '你好<br>';
return; //终止脚本执行
echo '你好'; //不执行
?>

return 只能中断当前页面,如果有包含文件,只能中断包含文件
如果要完全终止使用:exit(),或die()

  1. 返回页面结果
    1.php
<?php
return array('name'=>'tom','age'=>'18');
?>

2.php

<?php
$stu=require'./1.php';
print_r($stu);
?>

结果
在这里插入图片描述
3. 函数的返回和终止
return在函数中使用作用有

  • 终止函数执行
<?php
function fun(){
    
    
	echo 'aaa';
	return;  //终止执行函数
	echo 'bbb';
}
fun(); //aaa
?>
  • 返回值
<?php
function fun(){
    
    
	return 100;//返回值
}
echo fun(); //100
?>

猜你喜欢

转载自blog.csdn.net/weixin_45291045/article/details/108626142
1.9