zoukankan      html  css  js  c++  java
  • 复杂函数

    可变函数:

    php支持可变函数的概念,这意味着如果一个变量名后面有圆括号,php将寻找与变量的值相同的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。

    可变函数不能用于例如echo print unset() isset() empty() include,require以及类似的语言结构,需要使用自己包装函数来将这些结构用作可变函数。

    class Foo{
    
     function test(){
        $name = "say";
        $this->$name();
    
    }
    function say(){
      echo "this is class foo function say";
    
    }
    
    }
    $foo = new Foo();
    $funcName = "test";
    $foo->$funcName();

    嵌套函数:

    当外部的函数被调用的时候,内部的函数就会自动进入全局域中,成为新的定义函数

    function out(){
        if(! function_exists("in")){
           function in(){
          echo "如果外面的函数没有被调用的话,我是不存在的";
    }
    }  
    
    
    }
    out();
    in();
    

      

    递归函数

    函数在它的函数体内调用它自身,这种函数成为递归函数

    <?php
    function recursive($i){
        $sum = 1;
        echo "当前recursive()函数调用$i的值是 {$i}
    ";
        if($i == 1){
           echo "当前$i的值是 {$i} $sum = {$sum}
    ";
           return 1;
        }else{
           $sum = $i * recursive($i-1);
        }
        echo "$i = {$i};$sum = {$sum};
    ";
        return $sum;
    }
    echo recursive(3);
    

      匿名函数/闭包函数

    匿名函数(Anonymous functions),也叫闭包函数(closures),允许临时创建一个没有

    指定名称的函数,最常用作回调函数(callback)参数的值。

    匿名函数目前是通过Closure类来实现的

      

    <?php
    
    
         function test_closure($name,Closure $clo){
             echo "hello {$name}
    ";
             $clo();
         };
         test_closure("xiaowang",function(){
             echo "welcome to this page";
         });
    

      

  • 相关阅读:
    将jetty嵌入到应用中的简单案例
    修改jetty的默认端口号
    Linux下安装jetty服务器
    影视-纪录片:《超级装备》
    影视-纪录片:《飞向月球》
    影视-电视剧:《罪域》
    影视-电视剧:《黎明之前》
    影视-电视剧:《人民的名义》
    几何:不可能图形
    几何:悖理图形
  • 原文地址:https://www.cnblogs.com/aln0825/p/10933623.html
Copyright © 2011-2022 走看看