php函数

 1.函数概念:

 
      函数是用来完成某种特定任务的可重用代码块;
 
      函数可以使程序更具模块化,拥有良好的结构;
 
      函数定义后在程序中可以重复调用;
 
      函数分为内置函数和自定义函数
 
 
   2. 内置函数
 
        PHP系统提供了大量功能强大的函数,帮助我们解决各种问题;
 
 
 
   3.创建自定义函数
 
        function function_name(parameters) {
           
          //function body
 
        }
 
        function sayhello(){
          echo 'hello';
        }
 
        函数用function关键字来声明;
        函数名称是由字母或下划线开始,中间可以包含数字;
        函数名不区分大小写,不过在调用函数的时候,通常使用其在定义时相同的形式;
        php不支持函数重载, 所以自定义函数不能和内置函数重名;
        不能在一个文件中自定义同名的函数;
        参数出现在括号中,如果有多个参数用逗号分隔;
 
 
 
  4.函数调用
 
      语法格式:
 
        fun_name(parameters);
 
      注意不同语言的区别:
        在Java等强类型语言中方法的名字严格区分大小写;
        C语言中的函数也是严格区分大小写;
        但PHP到现在的版本,函数名称不区分大小写;
        很多语言允许函数(方法)的重载,即函数有相同的名称但是函数参数不同;
        PHP不支持函数的重载;
 
 
  5.传递参数
 
      值传递(传值)
        函数内对参数值的改变不会影响函数外部的值;
      引用传递(传址)
        有些情况下,可能希望在函数体内对参数的修改在函数体外也能反映;
        使用引用传递参数要在参数前加上"&"符号;
        变量本身传入,传入后的变量与原变量建立联系;
        函数体内变量的变化,会影响到原变量本身;
 
      默认参数值
        可以为参数指定默认值,在没有提供其他值的情况下,则将默认值自动赋给该参数;
 
      可选参数
        可以指定某个参数为可选参数,这些参数需要放在参数列表的末尾,需且要指定其默认值为空;
        如果指定了多个可选参数,可以选择性地传递某些参数;
 
 
  6.从函数返回值 
 
      通常情况下,只依靠函数做某些事情还不够;
      需要将函数的执行结果返回给调用者,这时可以使用 return 语句返回结果;
      return 语句变执行后,将使得函数立即结束运行,并且将控制权返回被调用的行;
 
      function mysquare($num){
        if($num == ‘’){
            return;
        }
        $res = $x * $x;
        return $res;
      }
      echo mysquare(4);
 
 
 
  7. 递归函数
      递归函数是一个可以重复调用自身的函数,直到满足某个条件为止;
      递归函数常用来解决一些重复的问题;
      递归应该特别注意条件,防止进入死循环中;
 
      function repayment($balance, $payment){
        static $count = 1;
        $newbalance = $balance - $payment;
        echo $count.' '.$newbalance.'<br>';
        if($newbalance > 0){
          $count++;
          repayment($newbalance, $payment);
        }else{
          exit;
        }
      }
      $money = 20000;
      $month_pay = 1000;
      repayment($money, $month_pay);
 
 
 
变量作用域和生命周期
 
    由于引入了函数,程序中变量的能见度发生了变化,即变量的作用范围发生了改变;
    变量分为:全局变量,局部变量,静态变量;
 
    1.局部变量
      函数体内定义的变量为局部变量,只在函数体内可见;
      局部变量的作用域:从声明它的那条语句开始到函数结束;
 
        $str = 'hello php';
        echo '1:'.$str.'<br>';
 
        function change(){
          $str = 'hello everyone';
          echo '2:'.$str.'<br>';
        }
 
        change();
        echo '3:'.$str;
 
 
 
    2. 全局变量
        函数体外定义的变量为全局变量,与局部变量相反,全局变量可以在程序的任何地方访问;
        如果在函数体中需要使用全局变量,使用 global 关键字访问; 
        全局变量的作用域:从声明它的那条语句开始到文件末尾;
 
        $a = 23;
 
        function test()
        {
            global $a;
            $a = 34;
            return $a;
        }
 
        test();
        echo $a;
 
    3. 静态变量
        局部变量在函数退出时会被撤消,与局部变量不同,静态变量在函数退出时不会丢失值,并且再次调用函数时还能保留这个值;
        在变量名前面加上 static 关键字就可以声明一个静态变量;
 
 
          function keep_val(){
            static $count = 0;
            $count++;
            echo $count;
            echo '<br>';
          }
 
          keep_val();
          keep_val();
          keep_val();
 
 
    函数库
 
        通常将常用的函数组织到函数库中,可以在以后类似的应用程序中重复使用。
 
        需要调用时使用include()或require()将函数库包含到脚本中;  
 
 
 
    include require
 
        1.include()语句将在其被调用的位置处包含一个文件。
          include("init.php");
 
        2.include_once()的作用与include()相同,不过它会首先验证是否已经包含了该文件.
        如果已经包含,则不再执行include_once();
 
        3.require()
 
        4.require_once() 
 
 
        require() 与 include() 之间的区别
 
          如果require()包含文件出错时,脚本将停止执行。 而使用include()脚本将继续执行。
posted @ 2015-10-15 12:34  -JackoChan  阅读(247)  评论(0)    收藏  举报