婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP回調函數概念與用法實例分析

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

熱門標簽:商丘外呼系統好處 福建高頻外呼防封系統哪家好 外呼系統人工客服 400電話申請辦理 網絡電話400申請 全國各省地圖標注點 百度地圖標注類型是酒店 周口網絡回撥外呼系統 隨州銷售電銷機器人公司

本文實例講述了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程序設計有所幫助。

您可能感興趣的文章:
  • PHP將回調函數作用到給定數組單元的方法
  • JS回調函數原理與用法詳解【附PHP回調函數】
  • PHP回調函數簡單用法示例
  • PHP回調函數及匿名函數概念與用法詳解
  • PHP回調函數與匿名函數實例詳解
  • PHP中call_user_func_array回調函數的用法示例
  • PHP 使用MySQL管理Session的回調函數詳解
  • PHP 的異常處理、錯誤的拋出及回調函數等面向對象的錯誤處理方法
  • php回調函數處理數組操作示例

標簽:定西 海南 樂山 十堰 南寧 佛山 六安 迪慶

巨人網絡通訊聲明:本文標題《PHP回調函數概念與用法實例分析》,本文關鍵詞  PHP,回調,函數,概念,與,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP回調函數概念與用法實例分析》相關的同類信息!
  • 本頁收集關于PHP回調函數概念與用法實例分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 华蓥市| 万全县| 南充市| 柞水县| 西畴县| 东乡县| 洛南县| 夹江县| 霍城县| 江口县| 平远县| 泽普县| 榆林市| 邹城市| 宜黄县| 同江市| 百色市| 娱乐| 察雅县| 东乡族自治县| 小金县| 寿阳县| 大兴区| 陵川县| 棋牌| 焉耆| 泰来县| 长治县| 手游| 大石桥市| 江都市| 杭州市| 临洮县| 汶上县| 八宿县| 疏附县| 新源县| 高州市| 志丹县| 祁东县| 洛扎县|