Blogger Information
Blog 17
fans 0
comment 0
visits 13713
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php函数
ROC-Y
Original
637 people have browsed it

函数定义

  1. function 函数名(参数):返回值类型{
  2. 算法描述;
  3. return:返回值;
  4. }

系统函数举例:

  1. <?php
  2. echo rand(); //返回随机整数
  3. echo "<br>";
  4. echo rand(1000,9999);//返回四位随机整数
  5. echo "<br>";
  6. $str = "学习php哈哈";
  7. echo mb_substr($str,1,5);//字符串截取

可变函数

  1. <?php
  2. function example(int $a ){
  3. return $a *=$a;
  4. }
  5. $func = 'example';//函数别名
  6. echo $func(2);

匿名函数

  1. <?php
  2. // 定义一个匿名函数,将其赋值给变量$fuc,方便使用
  3. //同时演示匿名函数通过use()使用全局变量
  4. $b = 10;
  5. $fuc = function (int $a ) use ($b): int {
  6. //返回$a 的绝对值
  7. return abs($a * $b);
  8. };
  9. echo $fuc(-10);

返回值也是函数的情况下,注意调用传参的位置顺序

  1. <?php
  2. // 定义一个匿名函数,将其赋值给变量$fuc,方便使用
  3. //同时演示匿名函数通过use()使用全局变量
  4. $b = 10;
  5. $fuc = function (int $a ) use($b) {
  6. //返回$a 的绝对值
  7. return function (int $g ) use ($a,$b) {
  8. return abs( $a * $b) * $g ;
  9. };
  10. };
  11. //先通过$fuc(-10)得到内部的匿名函数,继续传$g=30调用
  12. echo $fuc(-10)(30);

返回值

  • 原则:单返回值

1、一般返回

  • 直接return返回一个基本类型或者字符串

2、返回数组

  1. <?php
  2. function funArray(){
  3. $age = 11;
  4. $name = "php";
  5. $num = "320";
  6. //通过数组返回
  7. return [ 'age'=>$age,'name'=>$name,'num' => $num];
  8. }
  9. var_dump((funArray()));

3、json返回

  1. <?php
  2. function funArray(){
  3. $age = 11;
  4. $name = "php";
  5. $num = "320";
  6. //存入数组
  7. $arry = [ 'age'=>$age,'name'=>$name,'num' => $num];
  8. //将数组转为json
  9. return json_encode($arry);
  10. }
  11. var_dump((funArray()));
  12. echo '<hr>';
  13. $str = funArray();
  14. //将json字符串解析
  15. //对象
  16. var_dump(json_decode($str));
  17. echo '<hr>';
  18. //数组
  19. var_dump(json_decode($str,true));

4、序列化多值返回

  1. <?php
  2. // 通过序列化返回多个值
  3. function funArray(){
  4. $age = 11;
  5. $name = "php";
  6. $num = "320";
  7. $arry = [ 'age'=>$age,'name'=>$name,'num' => $num];
  8. //将数组转为序列返回
  9. return serialize($arry);
  10. }
  11. var_dump((funArray()));
  12. echo '<hr>';
  13. $str = funArray();
  14. //反序列化,将结果转为可用的数组
  15. var_dump(unserialize($str));
  16. echo '<hr>';

参数

1、一般的名称个数和类型声明参数

2、引用传递

  • 通过取地址符&声明,改变被传入参数指向的地址存储的值
  1. <?php
  2. function change(int &$value) {
  3. //将value执行的地址存储的值平方
  4. $value *= $value;
  5. }
  6. $a = 30;
  7. change($a);
  8. //变量a执行的地址存储的值不再是30,而是900
  9. echo $a;

3、默认参数

  1. <?php
  2. // $n 为默认参数,默认参数要放在后面,
  3. function power($x, $n=2){
  4. $s = 1;
  5. while ($n > 0){
  6. $n = $n - 1;
  7. $s = $s * $x;
  8. }
  9. return $s;
  10. }
  11. // 当函数只给一个值的时候,默认n=2
  12. echo power(5);
  13. echo '<hr>';
  14. //如果给2个参数,则第二个参数赋值给n
  15. echo power(3,3);

4、剩余参数

  1. <?php
  2. function infor(...$args){
  3. //func_get_arg()和func_get_args()可以返回参数当前的值
  4. $arry= func_get_args($args);
  5. //获取索引为1的参数值
  6. $arg= func_get_arg(1);
  7. echo $arg;
  8. echo '<hr>';
  9. return $arry;
  10. }
  11. //直接传入参数
  12. var_dump(infor('男','50kg' ));
  13. echo '<hr>';
  14. //组装一个数组传入
  15. $arry1 = ['张三',20];
  16. var_dump(infor(...$arry1));

总结

  • 函数的定义,注意命名的通用规范,使用驼峰hellowWorld,或者蛇形hello_world
  • 函数的返回值,单值返回,或者组装成数组,json序列化返回
  • 函数的参数形式,可以明确申明,或者使用默认参数,或者剩余参数
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:函数的常用知识, 基本上都被我们在课上搞完了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post