本文目錄一覽:
PHP回調函數的幾種用法
具體代碼如下:
?php
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, ”);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?
PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。
它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,
執行效率比完全生成HTML標記的CGI要高許多;
PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
PHP回調函數到底是個啥
回調函數就是那些自己寫的,但是不是自己來調,而是給別人來掉的函數。
就像下面的odd()和even()函數一樣。
?php
function odd($var)
{
return($var % 2 == 1);
}
function even($var)
{
return($var % 2 == 0);
}
$array1 = array(“a”=1, “b”=2, “c”=3, “d”=4, “e”=5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo “Odd :\n”;
print_r(array_filter($array1, “odd”));//這裡把array1的值依次傳入到odd這個函數裏面,這種方式就稱為回調
echo “Even:\n”;
print_r(array_filter($array2, “even”));
?
下面這個例子實現函數的回調
?
function fnCallBack($msg1, $msg2)
{
echo ‘msg1:’.$msg1;
echo ‘br/’;
echo ‘msg2:’.$msg2;
}
$fnName = ‘fnCallBack’;//函數名
$params = array(‘hello’, ‘world’);//將要傳入到函數裏面的參數
call_user_func_array($fnName, $params);
?
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,…)的參數個數根據回調函數的參數來確定的。
PHP回調函數及匿名函數概念與用法詳解
PHP的回調函數其實和C,Java等語言的回調函數的作用是一模一樣的,都是在主線程執行的過程中,突然跳去執行設置的回調函數;
回調函數執行完畢之後,再回到主線程處理接下來的流程;
而在PHP調用回調函數,不像C以及Java那樣直接使用函數名作為函數參數,而是在PHP中使用函數對應的字符串名稱執行。
// call_user_func — 把第一個參數作為回調函數調用
// 第一個參數 callback 是被調用的回調函數,其餘參數是回調函數的參數。
// PHP中的匿名函數,也叫閉包函數,允許指定一個沒有名稱的函數。最常用的就是回調函數的參數值。
//檢測一個函數變量是否是一個閉包
// 傳入參數,引用局部變量
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/196287.html