久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

PHP回調函數概念與用法實例分析

這篇文章主要介紹了PHP回調函數概念與用法,簡單介紹了回調函數的概念、原理,并結合實例形式分析了回調函數的相關使用技巧,需要的朋友可以參考下

本文實例講述了PHP回調函數概念與用法。分享給大家供大家參考,具體如下:

一、回調函數的概念

先看一下C語言里的回調函數:回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作為參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。回調函數不是由該函數的實現方直接調用,而是在特定的事件或條件發生時由另外的一方調用的,用于對該事件或條件進行響應。

其他語言里的回調函數的概念與之相似,只不過各種語言里回調函數的實現機制不一樣,通俗的來說,回調函數是一個我們定義的函數,但是不是我們直接來調用,而是通過另一個函數來調用,這個函數通過接收回調函數的名字和參數來實現對它的調用。

二、php中回調函數的實現

php提供了兩個內置函數call_user_func()call_user_func_array()提供對回調函數的支持。這兩個函數的區別是call_user_func_array是以數組的形式接收回調函數的參數的,看它的原型就知道了:mixed call_user_func_array ( callable $callback ,array$param_arr ),它只有兩個參數。而call_user_func($callback,參數1,參數2,…)的參數個數根據回調函數的參數來確定的。

如何實現對腳本中全局函數、類中未使用$this的非靜態方法、類中使用$this的非靜態方法(需要傳入對象)、類中靜態方法的回調呢,下面是測試通過的代碼。

<?php
//普通函數
function f1($arg1,$arg2)
{
  echo __FUNCTION__.'exec,the args is:'.$arg1.' '.$arg2;
  echo "<br/>";
}
//通過call_user_func調用函數f1
call_user_func('f1','han','wen');
  //通過call_user_func_array調用函數
call_user_func_array('f1',array('han','wen'));
class A
{
  public $name;
  function show($arg1)
  {
    echo 'the arg is:'.$arg1."<br/>";
    echo 'my name is:'.$this->name;
    echo "<br/>";
  }
  function show1($arg1,$arg2)
  {
    echo __METHOD__.' exec,the args is:'.$arg1.' '.$arg2."<br/>";
  }
  public static function show2($arg1,$arg2)
  {
    echo __METHOD__.' of class A exec, the args is:'.$arg1.' '.$arg2."<br/>";
  }
}
//調用類中非靜態成員函數,該成員函數中有$this調用了對象中的成員
$a = new A;
$a->name = 'wen';
call_user_func_array(array($a,'show',),array('han!'));
//調用類中非靜態成員函數,沒有對象被創建,該成員函數中不能有$this
call_user_func_array(array('A','show1',),array('han!','wen'));
//調用類中靜態成員函數
call_user_func_array(array('A','show2'),array('argument1','argument2'));

運行結果:

f1exec,the args is:han wen
f1exec,the args is:han wen
the arg is:han!
my name is:wen
A::show1 exec,the args is:han! wen
A::show2 of class A exec, the args is:argument1 argument2

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php常用函數與技巧總結》、《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP數據結構與算法教程》及《php程序設計算法總結》

希望本文所述對大家PHP程序設計有所幫助。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了PHP有序表查找之插值查找算法,簡單分析了插值查找算法的概念、原理并結合實例形式分析了php實現針對有序表插值查找的相關操作技巧,需要的朋友可以參考下
下面小編就為大家分享一篇ThinkPHP整合datatables實現服務端分頁的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
下面小編就為大家分享一篇PHP實現APP微信支付的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
這篇文章主要介紹了PHP實現的多維數組排序算法,結合實例形式對比分析了php針對多維數組及帶有鍵名的多維數組進行排序相關操作技巧與注意事項,需要的朋友可以參考下
這篇文章主要為大家詳細介紹了php結合ajaxuploadfile實現無刷新文件上傳功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本篇文章給大家詳細介紹了PHP開發接口使用RSA進行加密解密方法,對此有興趣的朋友可以學習下。
主站蜘蛛池模板: 国产三级在线免费观看 | 艳妇乳肉豪妇荡乳 | 国产三级黄色片 | 日本激情视频 | 综合色婷婷 | 久久免费视频网站 | 久久综合99 | 国产精品美女在线观看 | 亚洲久久久久久 | 黄色小视频免费看 | 亚洲成人国产 | 日韩免费成人 | 亚洲+小说+欧美+激情+另类 | 日日干夜夜爽 | 国产一区二区免费在线观看 | 国产欧美一区二区精品性色超碰 | 欧美在线播放视频 | 黄色片网站在线观看 | 一级黄色免费视频 | 三上悠亚激情av一区二区三区 | 精品国产一区二区在线观看 | 九色在线视频 | 99亚洲精品 | 女人高潮特级毛片 | 精品亚洲一区二区 | 中国黄色1级片 | 成人三级视频在线观看 | 日韩中文字幕第一页 | 青青草免费在线 | 最近中文字幕在线观看 | 91亚洲国产成人久久精品麻豆 | 国产永久视频 | 亚洲福利网 | 97久久精品人人澡人人爽 | 色视频www在线播放国产人成 | 国产在线观看精品 | 国产三级在线观看视频 | 九色精品 | 日韩午夜av | 免费a在线 | 日韩精品视频一区二区三区 |