1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/* 参数详解 形参 形参:形式参数,不具有实际意义的参数,是在函数定义时使用的参数。 实参 实参:实际参数,具有实际数据意义的参数,是在函数调用时使用的参数。 形参是实参的载体:实参在调用时,通常是需要传入到函数内部参与计算(运算),那么需要在函数内部去找到实际数据所在的位置才能找到数据本身:需要实际调用的时候,才将数据以实参的形式传递给形参:给形参赋值,从而使得函数内部可以用到外部数据。 */ function add($arg1,$arg2){ //形参可以有多个,使用逗号分隔即可 //函数体,可以直接使用形参运算 echo $arg1 + $arg2; } //调用函数 $num1 = 20; //传入的实参,可以是变量、数据或者其他有值的表达式(变量、常量、运算符计算结果) add($num1,10); echo '<br/>'; /* 注意: 1、在 PHP 中允许实参多于形参(个数),函数内部不用而已 2、在 PHP 中理论上形参个数没有限制(实际开发不会太多) 3、实参不能小于形参个数 */ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
/* 引用传递 实参在调用时会将值赋值给形参,那么实际上使用的方式就是一种简单的值传递:将实参(如果是变量或者常量或者其他表达式〉的结果(值)取出来赋值给形参:形参与外部实际传入的参数本身没有任何关联关系:只是结果一样。 有的时候,希望在函数内部拿到的外部数据,能够在函数内部改变,那么就需要明确告知函数(定义时),函数才会在调用的时候去主动获取外部数据的内存地址。以上这种定义形式参数的方式作引用传值。 参数的方式引用传值 基本定义语法: function 函数名(形参1,&形参2){ //函数体 } 在调用的时候,必须给引用传值的参数位置传入实际参数,而且参数本身必须是变量(变量才有指向的数据的内存地址) */ function chuanzhi($a,&$b){ //修改形参对应的变量 $a = $a * $a; $b = $b * $b; echo $a,'<br/>',$b,'<br/>'; } //定义变量 $a = 10; $b = 5; //调用函数 chuanzhi($a,$b); echo '<hr/>'; //调试变量本身是否改变 echo $a,'<br/>',$b,'<br/>'; echo '<hr/>'; |
1 2 3 4 5 6 7 8 9 |
/* 函数体 函数体:函数内部(大括号{}里面)的所有代码都称之为函数体 函数体:基本上所有的代码都可以实现 1、定义变量 2、定义常量 3、使用流程控制(分支、循环) 4、可以调用函数 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
返回值 返回值:return,指的是将函数实现的结果,通过 return 关键字,返回给函数外部(函数调用处):在 PHP 中所有的函数都有返回值。(如果没有明确 return 使用,那么系统默认返回 NULL) 注意:函数的返回值可以是任意数据类型 return 关键字; 1、return 在函数内部的价值:返回当前函数的结果(当前函数运行结束) 2、return还可以在文件中直接使用(不在函数里面):代表文件将结果return后面跟的内容,转交给包含当前文件的位置。 */ function fanhuizhi($a,$b){ //因为这里使用了 return 关键字返回终止后面的运行 return $a * $b; //所以这里将不被输出 echo $a; } $a=fanhuizhi(10,20); //var_dump($a); echo $a; |
1 2 3 4 5 6 7 8 9 10 11 12 |
//被包含 return //定义文件为 C:/www/return_include_once.php return '当前被包含已经在此终止返回'; echo '所以这里不被输出'; //定义文件为 C:/www/return_include_once1.php $a = Include_once 'return_include_once.php'; var_dump($a); |