Dalam artikel sebelumnya, saya membawakan anda "Cara bermain dengan fungsi tersuai PHP (perkongsian ringkasan) ". fungsi panggil balik asas dalam fungsi PHP. Semoga ia membantu semua orang!
Fungsi panggil balik, struktur fungsi yang boleh bekerjasama dengan fungsi tanpa nama dan fungsi berubah untuk mencapai lebih banyak fungsi .
Apakah fungsi panggil balik?
Fungsi panggil balik dalam PHP sebenarnya bermaksud bahawa apabila memanggil fungsi, bukannya menghantar pembolehubah standard kepada fungsi sebagai parameter, fungsi lain dihantar sebagai parameter kepada fungsi yang dipanggil fungsi yang mengambil parameter.
Boleh difahami bahawa fungsi panggil balik juga merupakan fungsi yang kami takrifkan, tetapi ia tidak dipanggil secara langsung, tetapi memerlukan fungsi lain untuk dipanggil.
Contoh adalah seperti berikut:
<?php function arithmetic($a, $b, $c) { return $a($b, $c); } function add($b,$c){ return $b+$c; } $d = arithmetic('add', 5, 9); echo '5 + 9 ='.$d; ?>
Hasil keluaran:
Selain itu, PHP menyediakan dua fungsi call_user_func()
dan call_user_func_array()
untuk menyokong fungsi panggil balik.
Perbezaan antara kedua-dua fungsi ini ialah: call_user_func_array() menerima parameter fungsi panggil balik dalam bentuk tatasusunan, manakala call_user_func() menerima parameter fungsi panggil balik dalam bentuk tertentu parameter.
call_user_func_array()
Fungsi call_user_func_array boleh memanggil fungsi panggil balik, dan kemudian menggunakan tatasusunan sebagai parameter daripada fungsi panggil balik. Format sintaks adalah seperti berikut:
call_user_func_array ($callback ,$param_arr)
Dalam format sintaks, $callback ialah fungsi panggil balik yang dipanggil, $param_arr ialah tatasusunan indeks, mari kita ambil contoh untuk melihatnya dalam amalan:
<?php function arithmetic($f, $m, $n) { return call_user_func_array($f, array($m, $n)); } function add($m,$n){ return $m+$n; } $sum = arithmetic('add', 3, 4); echo '3 + 4 ='.$sum; ?>
Hasil keluaran:
call_user_func()
call_user_func Fungsi akan memanggil parameter pertama sebagai fungsi panggil balik Format sintaks adalah seperti berikut:
call_user_func ($callback [, $parameter, ... ])
Antaranya, $callback ialah fungsi panggil balik yang dipanggil, dan parameter yang selebihnya ialah parameter. daripada fungsi panggil balik Antara berbilang parameter Gunakan ",
" untuk memisahkannya. Mari kita ambil contoh untuk melihatnya dalam tindakan:
<?php function arithmetic($f, $m, $n) { return call_user_func($f, $m, $n); } function add($m,$n){ return $m+$n; } $sum = arithmetic('add', 250, 250); echo '250 + 250 ='.$sum; ?>
Hasil output:
Seterusnya, saya akan berkongsi dengan anda gabungan fungsi pembolehubah dan fungsi panggil balik. Contoh:
<?php function woziji($one,$two,$func){ //我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false if(!is_callable($func)){ return false; } //我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次 //$func是一个变量函数,参见变量函数这一章 echo $one + $two + $func($one,$two); } //我们定义几个函数试试 function plusx2( $foo , $bar){ $result = ($foo+$bar)*2; return $result; } function jian( $x , $y ){ $result = $x - $y; return $result; } //调用一下函数,woziji,向里面传入参数试试 echo woziji(20,10,'plusx2'); //将plusx2改成jian试试结果 echo woziji(20,10,'jian'); ?>
Hasil keluaran:
Pembelajaran yang disyorkan: "Tutorial Video PHP "
Atas ialah kandungan terperinci Cara menggunakan fungsi panggil balik PHP (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!