<?php /** * Created by PhpStorm. * User: laotianwy * Date: 2021/1/29 * Time: 16:24 */ /* * 1.函数(注意:函数名不区分大小写,变量名区分大小写。关键字,函数名不区分大小写) * 1.函数就是一段代码块 * 2.函数可以实现模块化编程 * 2.函数定义 * function 函数名(参数1,参数2,...){ * //函数体 * } * 3.通过函数名()调用函数 * function show() { * echo '锄禾日当午<br>'; * } * //调用 * show(); //锄禾日当午 * SHOW(); //锄禾日当午 函数名不区分大小写 * * 4.可以通过变量()这样调用 * $name = 'func'; * function func (){ * echo 'func'; * } * $name(); * * 5.匿名函数 * 1.匿名函数就是没有名字的函数 * 2.$func = function (){ echo '锄禾日当午<br>';} $func(); * * 6. 参数传递 * 1.函数的参数有形式参数和实际参数 * 2.函数内的是形参,但是调用的时候是实际的参数 * 3.形式参数是定义函数时候的参数,只起形式的作用,没有具体的值 * 4.实际参数的调用函数时候的参数,有具体的值 * 5.默认情况下,参数的传递是值传递 * * 7.更改为地址传递,在参数前面加上&符号 * $name1 = 10; * function setName1(&$name){ * $name = 100; * } * echo $name; // 100 * * 8.参数默认值 * 1.在定义函数的时候给形参赋值就是参数的默认值 * 2.默认值必须是值,不能用变量代替 * 3.默认值可以使用常量 * 4.有默认值的写在后面,没有默认值的写在前面 * function setName($name=1){ * echo $name; * } * 9.参数个数不匹配 * 1.注意:如果参数不匹配将会报错 * 2.注意:实参多于形参,只取前面对应的值 * function fun1($name,$name1){ * echo $name; * } * func1('laotian'); * fun1(10,20,30); //实参多于形参,只取前面对应的值 * * 10.参数约束 * 1.定义变长参数 * function fun($name,$age,...$hobby) { * echo '姓名:'.$name,'<br>'; * echo '年龄:'.$age,'<br>'; * print_r($hobby); * echo '<hr>'; * } * fun('tom',22); * fun('berry',25,'读书','睡觉'); * * 2.参数类型约束 * function fun(string $name,int $age){ * echo "姓名:{$name},'<br>'"; * echo "年龄:{$age},'<br>'"; * } * // 约束name为字符串,age为int类型 * * 3.函数返回值类型约束 * 1.函数返回值可以约束的类型有:string, int,float,bool,array * function fun($name,$age):int{ * return 1; * } * fun('tom',22); * * 11.return * 1.return 终止脚本执行,只能中断当前页面,如果有包含文件,只能中断包含文件 * 2.return 之后,不会输出3 * 3.如果要完全终止脚本执行,使用exit();die(); * 4.引入文件得时候,切记文件夹名字不能带有中文 * 5.如果引入问价在return下面那么就不会运行引用文件的。 * <?php * echo '2'; * return ; * echo '3'; * ?> * * 12.函数的返回和终止 * 1.return 在函数中作用: * 1.是终止函数的运行, * 2.返回值 * * 13.练习: 计算器 * <body> <?php $num1=''; //$num1的初始值 $num2=''; //$num2的初始值 $op=''; //操作符 $result=''; //结果 if(!empty($_POST)) { $num1=$_POST['num1']; $num2=$_POST['num2']; $op=$_POST['op']; //操作符 switch($op){ case '+': $result=$num1+$num2; break; case '-': $result=$num1-$num2; break; case '*': $result=$num1*$num2; break; case '/': $result=$num1/$num2; break; } } ?> <form method="post" action=""> <input type="text" name="num1" value='<?php echo $num1?>'> <select name="op"> <option value="+" <?php echo $op=='+'?'selected':''?>>+</option> <option value="-" <?php echo $op=='-'?'selected':''?>>-</option> <option value="*" <?php echo $op=='*'?'selected':''?>>*</option> <option value="/" <?php echo $op=='/'?'selected':''?>>/</option> </select> <input type="text" name="num2" value='<?php echo $num2?>'> <input type="submit" name="button" value="="> <input type="text" name="result" value='<?php echo $result?>'> </form> </body> * * * * * * 练习: * 1. 通过for循环将数组中值求和、求平均值 * 2.数组翻转 * 3.遍历二维数组 * 4.循环输出1-100,其中3的倍数输出A,5的倍数输出B,15输出C。 * 5.打印水仙花数 * 6.打印100以内的斐波那契数(迭代法) 1 1 2 3 5 8 13 21 .... * 7.打印星星 * 8.生成颜色面板 * * * * */
8.函数
最新推荐文章于 2024-09-05 19:28:53 发布