濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > PHP回調(diào)函數(shù)概念與用法實(shí)例分析

PHP回調(diào)函數(shù)概念與用法實(shí)例分析

熱門(mén)標(biāo)簽:商丘外呼系統(tǒng)好處 福建高頻外呼防封系統(tǒng)哪家好 外呼系統(tǒng)人工客服 400電話申請(qǐng)辦理 網(wǎng)絡(luò)電話400申請(qǐng) 全國(guó)各省地圖標(biāo)注點(diǎn) 百度地圖標(biāo)注類(lèi)型是酒店 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 隨州銷(xiāo)售電銷(xiāo)機(jī)器人公司

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

一、回調(diào)函數(shù)的概念

先看一下C語(yǔ)言里的回調(diào)函數(shù):回調(diào)函數(shù)就是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)的指針(地址)作為參數(shù)傳遞給另一個(gè)函數(shù),當(dāng)這個(gè)指針被用來(lái)調(diào)用其所指向的函數(shù)時(shí),我們就說(shuō)這是回調(diào)函數(shù)?;卣{(diào)函數(shù)不是由該函數(shù)的實(shí)現(xiàn)方直接調(diào)用,而是在特定的事件或條件發(fā)生時(shí)由另外的一方調(diào)用的,用于對(duì)該事件或條件進(jìn)行響應(yīng)。

其他語(yǔ)言里的回調(diào)函數(shù)的概念與之相似,只不過(guò)各種語(yǔ)言里回調(diào)函數(shù)的實(shí)現(xiàn)機(jī)制不一樣,通俗的來(lái)說(shuō),回調(diào)函數(shù)是一個(gè)我們定義的函數(shù),但是不是我們直接來(lái)調(diào)用,而是通過(guò)另一個(gè)函數(shù)來(lái)調(diào)用,這個(gè)函數(shù)通過(guò)接收回調(diào)函數(shù)的名字和參數(shù)來(lái)實(shí)現(xiàn)對(duì)它的調(diào)用。

二、php中回調(diào)函數(shù)的實(shí)現(xiàn)

php提供了兩個(gè)內(nèi)置函數(shù)call_user_func()call_user_func_array()提供對(duì)回調(diào)函數(shù)的支持。這兩個(gè)函數(shù)的區(qū)別是call_user_func_array是以數(shù)組的形式接收回調(diào)函數(shù)的參數(shù)的,看它的原型就知道了:mixed call_user_func_array ( callable $callback ,array$param_arr ),它只有兩個(gè)參數(shù)。而call_user_func($callback,參數(shù)1,參數(shù)2,…)的參數(shù)個(gè)數(shù)根據(jù)回調(diào)函數(shù)的參數(shù)來(lái)確定的。

如何實(shí)現(xiàn)對(duì)腳本中全局函數(shù)、類(lèi)中未使用$this的非靜態(tài)方法、類(lèi)中使用$this的非靜態(tài)方法(需要傳入對(duì)象)、類(lèi)中靜態(tài)方法的回調(diào)呢,下面是測(cè)試通過(guò)的代碼。

?php
//普通函數(shù)
function f1($arg1,$arg2)
{
  echo __FUNCTION__.'exec,the args is:'.$arg1.' '.$arg2;
  echo "br/>";
}
//通過(guò)call_user_func調(diào)用函數(shù)f1
call_user_func('f1','han','wen');
  //通過(guò)call_user_func_array調(diào)用函數(shù)
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/>";
  }
}
//調(diào)用類(lèi)中非靜態(tài)成員函數(shù),該成員函數(shù)中有$this調(diào)用了對(duì)象中的成員
$a = new A;
$a->name = 'wen';
call_user_func_array(array($a,'show',),array('han!'));
//調(diào)用類(lèi)中非靜態(tài)成員函數(shù),沒(méi)有對(duì)象被創(chuàng)建,該成員函數(shù)中不能有$this
call_user_func_array(array('A','show1',),array('han!','wen'));
//調(diào)用類(lèi)中靜態(tài)成員函數(shù)
call_user_func_array(array('A','show2'),array('argument1','argument2'));

運(yùn)行結(jié)果:

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

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》及《php程序設(shè)計(jì)算法總結(jié)》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP將回調(diào)函數(shù)作用到給定數(shù)組單元的方法
  • JS回調(diào)函數(shù)原理與用法詳解【附PHP回調(diào)函數(shù)】
  • PHP回調(diào)函數(shù)簡(jiǎn)單用法示例
  • PHP回調(diào)函數(shù)及匿名函數(shù)概念與用法詳解
  • PHP回調(diào)函數(shù)與匿名函數(shù)實(shí)例詳解
  • PHP中call_user_func_array回調(diào)函數(shù)的用法示例
  • PHP 使用MySQL管理Session的回調(diào)函數(shù)詳解
  • PHP 的異常處理、錯(cuò)誤的拋出及回調(diào)函數(shù)等面向?qū)ο蟮腻e(cuò)誤處理方法
  • php回調(diào)函數(shù)處理數(shù)組操作示例

標(biāo)簽:定西 海南 樂(lè)山 十堰 南寧 佛山 六安 迪慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP回調(diào)函數(shù)概念與用法實(shí)例分析》,本文關(guān)鍵詞  PHP,回調(diào),函數(shù),概念,與,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP回調(diào)函數(shù)概念與用法實(shí)例分析》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于PHP回調(diào)函數(shù)概念與用法實(shí)例分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    孟州市| 石门县| 合肥市| 贡嘎县| 汝州市| 临桂县| 南京市| 杭锦后旗| 河北区| 西平县| 论坛| 庄浪县| 土默特左旗| 松溪县| 娱乐| 松阳县| 沅陵县| 娄烦县| 鄂州市| 榕江县| 沁源县| 襄汾县| 遵化市| 镶黄旗| 浦东新区| 饶河县| 交城县| 柳林县| 勐海县| 富平县| 合水县| 剑河县| 即墨市| 旌德县| 长子县| 峨眉山市| 于都县| 江华| 儋州市| 千阳县| 兴隆县|