zoukankan      html  css  js  c++  java
  • php回调函数原理和实例

    php回调函数原理和实例

    原理

    自己调用自己 称之为“递归”,而不是回调

    你也知道回调的关键是这个回
    既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思
    我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数
    显然主体是函数A

    我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的
    当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。例如

    PHP code
     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function foo($n$f='') {
      if($n < 1) return;
      for($i=0; $i<$n$i++) {
        echo $f $f($i) : $i;
      }
    }
    //无回调时
    foo(5); //01234
     
    //有回调时
    function f1($v) {
      return $v $v;
    }
    foo(5, 'f1'); //02468

     这里就是foo函数去调用(回调)了f1函数

    代码

     1 <?php
     2 function text1(){
     3     echo '这个是text1';
     4 
     5 }
     6 function text2($username){
     7     echo '这个是text2'.'<br/>'.'这里是username的值:'.$username;
     8 }
     9 //回调函数:函数体内的名称是我们传入的参数();
    10 function callBack($call,$str){
    11     $call($str);
    12 }
    13 //回调函数的使用就是传入的参数是你想要回调的函数名称
    14 callBack('text2','小明');
    15 echo '<hr/>';
    16 call_user_func('text2','测试');

    10、回调函数的函数名,和回调函数需要的参数值

    16、有自己写的回调函数和call_user_func两种

    回调函数,通过别的函数来调用这个函数,所以要传给调用这个函数的那个函数这个函数的名字和需要的参数。

  • 相关阅读:
    基于visual Studio2013解决面试题之1101差值最小
    基于visual Studio2013解决面试题之1009兄弟字符串
    基于visual Studio2013解决面试题之1007鸡蛋和篮子
    基于visual Studio2013解决面试题之1006判断升序
    4.16 删除重复记录
    4.9 当相应行存在时更新
    4.8 在表中编辑记录
    4.7 阻止对某几列插入
    4.6 一次向多个表中插入记录
    4.4 从一个表向另外的表中复制行
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/8545642.html
Copyright © 2011-2022 走看看