欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PHP编程0804作业:函数的返回值,参数? 匿名函数以及变量作用域

程序员文章站 2022-03-24 09:36:54
...

总结函数的返回值,参数

1.函数返回值,多个return只返回第一个return值

  1. function test1(){
  2. return 'hello world';
  3. return "hello php";
  4. }
  5. echo test1();

2.布尔值true 返回1,false 无返回结果.用var_dump打印出来是false
3.浮点型数据,整型数据,字符串正常返回

  1. function test2(){
  2. // return '789654321';
  3. return false;
  4. // return '3.1415926';
  5. }
  6. print_r(test2());
  7. echo "<hr>";
  8. var_dump(test2());
  9. echo "<hr>";

4.返回数组或对象等多行数据需要用print_r或var_dump接收.
5.输出数组要用变量接收或者在加数组下标

  1. function test3(){
  2. return array('1','2','3','apple','orange');
  3. }
  4. echo test3()['2'] ;
  5. var_dump(test3()['2']) ;
  6. //$name=test3();
  7. //echo "<hr>";
  8. //echo $name[1];

//6.参数实际就是变量.当变量在定义的函数名称后面的括号里面是形参,
//当参数在调用函数时的括号里面时是实参.
//7.形参可以赋予初始值,初始值都要放在右面,因为函数的参数调用是从左往右执行
//8.有多个参数时,调用时,要么不传参,要么全传参,不能跳过有初始值的参数传参调用

  1. $num1=5; //变量
  2. $num2= 8; //变量
  3. function add($num1,$num2=9){ //()里面的参数为形参
  4. return $num1+$num2;
  5. }
  6. echo add($num1); //(这里的参数为实参)

实例演绎你对课上匿名函数以及变量作用域问题的理解?

1.匿名函数:就是没有函数名称把函数赋值给变量的函数,匿名函数结束需要加分号.匿名函数的调用和函数的调用一样.

  1. $add=function (){
  2. return '55';
  3. };
  4. echo $add();

2.变量分为全局变量和局部变量

  • 全局变量:定义在函数体外部的变量都是全局变量,
  • 局部变量:定义在函数体内的变量都是局部变量.
    1. $tt1='55'; //全局变量
    2. function test4(){
    3. $tt2="你好啊"; //局部变量
    4. }

    作用域

    1.全局变量无法直接在函数体内调用,
    2.局部变量也无法在函数体外调用.
    1. $tt1='55'; //全局变量
    2. function test4(){
    3. $tt2="你好啊"; //局部变量
    4. echo $tt1; //函数体内无法输出全局变量$tt1
    5. echo "<br>";
    6. echo $tt2; //正常输出
    7. }
    8. echo $tt2; //局部变量无法在函数体外使用输出
    9. test4();
    10. echo $tt2; //局部变量无法在函数体外使用输出
    3.全局变量在函数体内调用方法:global $变量 GLOBAL[‘变量’]
    ```
    $tt1=’dasdasdasd’; //全局变量
    function test4(){
    // global $tt1; //使用global关键字全局变量

// echo $GLOBALS(‘$tt1’); //错误的输入方法
echo $GLOBALS[‘tt1’]; //调用函数可以输出全局变量$tt1
$tt2=”你好啊”; //局部变量
echo “<br>“;
echo $tt2; //正常输出
}
echo $tt2; //局部变量无法在函数体外使用输出
test4();
```

匿名函数的作用:

1.闭包改变上下文的值,
2.用作函数的返回值.
需要在好好揣摩下,留在作业的评论里吧.

谢谢老师!