加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP函数及作用域知识介绍

发布时间:2022-07-09 12:43:16 所属栏目:PHP教程 来源:互联网
导读:一、基本概念 函数:function,是一种语法结构,将实现某一个功能的代码块(多行代码)封装到一个结构中,从而实现代码的重复利用(复用)。 二、基本语法 函数有几个对应的关键点:function关键字、函数名、参数(形参和实参)、函数体和返回值。 基本语法
  一、基本概念
  函数:function,是一种语法结构,将实现某一个功能的代码块(多行代码)封装到一个结构中,从而实现代码的重复利用(复用)。
 
  二、基本语法
  函数有几个对应的关键点:function关键字、函数名、参数(形参和实参)、函数体和返回值。
 
  基本语法如下:
 
 
 
 
 
 
  Function 函数名([参数]){
 
   
 
           //函数体,基本上所有的代码都可以实现,定义变量、定义常量、使用流程控制(分支、循环)、可以调用函数。
 
           //返回值:return 结果;
 
  }
 
  定义函数的目的:是为了实现代码的重复利用,一个功能一个函数(简单明了)。
 
 
 
  函数是在代码执行阶段,碰到函数名字的时候才会调用,不是在编译阶段。函数的调用特点:只要系统在内存中能够找到对应的函数,就可以执行(函数的调用可以在函数定义之前)
 
  函数执行的内存分析:
 
  读取代码进入到代码段(编译:将代码变成字节码存储到内存)
  根据代码逐行执行——编译和执行是分开的(先编译后执行)
  三、函数命名规范
  命名规范:由字母、数字和下划线组成,但是不能以数字开头。函数作为一种常用的结构,一般遵循以下规则:函数通常名字代表着函数的功能,而有些功能会比较复杂,可能一个单词不足以表达,需要多个组合。
 
  驼峰法:除了左边第一个单词外,后面所有的单词首字母都大写:showParentInfo()
  划线法:单词之间通过下划线连接,单词都是小写:show_parent_info()
  四、形参和实参
  形参:形式参数,不具有实际意义的参数,是在函数定义时使用的参数。
 
  实参:实际参数,具有实际意义的参数,是在函数调用时使用的参数。
 
  两者关系:形参是实参的载体:实参在调用时通常是需要传入到函数内部参与计算(运算),那么需要在函数内部去找到实际数据所在的位置才能找到数据本身:需要实际调用的时候,将数据以实参的形式传递给形参:给形参赋值,从而使得函数内部可以用到外部数据。
 
 
 
 
 
 
 
 
 
 
 
  <h3>函数参数形参和实参</h3>
 
  <?php
 
      header("Content-type:text/html;charset=gbk");
 
      //定义函数
 
      function jia($a,$b){  //形参可以有多个,逗号,隔开
 
          echo $a + $b;//函数体使用形参运算
 
      };
 
      $num = 10;//定义实参
 
      jia($num,2);//传入实参,实参可以是变量、常量、运算结果等
 
  ?>
 
 
 
  在PHP中允许实参多余形参(个数):函数内部不用而已
  在PHP中理论上形参个数没有限制(实际开发不会太多)
  实参不能少于形参个数。
 
 
  五、形参默认值
  默认值:default value,指的是形参的默认值,在函数定义的时候,就给形参进行一个初始赋值:如果实际调用传入的参数(实参)没有提供,那么形参就会使用定义时的值来进入函数内部参与运算。通常默认值是用在一些,一定会有某个数据参与,但是可能通常是某个我们知道的值。
 
 
 
 
 
 
 
 
 
 
 
 
 
  <h3>形参默认值</h3>
 
  <?php
 
      header("Content-type:text/html;charset=gbk");
 
      $a = 10;//定义实参
 
      //定义函数
 
      function jia($a = 6,$b = 4){  //此时$a是实参,编译不执行,属于jia函数内部,跟外面的$a=10不冲突。
 
          echo $a + $b;//10 + 4 = 14
 
      };
 
      jia($a);//调用$a,有传参就是10,$b是4,所以值就是14
 
      echo "<hr/>";
 
      echo $a;//10
 
  ?>
 
 
 
  注意:默认值的定义是放在最右边的(多个),不能左边形参有默认值,但是右边没有函数外部定义的变量名字与函数定义的形参名字冲突(同名)是没有任何关联关系的;如果多个函数使用同样的形参名字也不冲突。
 
  六、实参引用传递
  实参在调用时会将值赋值给形参,那么实际上使用的方式就是一种简单的值传递:将实参(如果是变量或者常量或者其他表达式)的结果(值)取出来赋值给形参:形参与外部实际传入的参数本身没有任何关联关系:只是结果一样。有的时候,希望在函数内部拿到的外部数据,能够在函数内部改变,那么就需要明确告知函数(定义时),函数才会在调用的时候去主动获取外部数据的内存地址。以上这种定义形式参数的方式叫作引用传值。

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读