Rumah > pembangunan bahagian belakang > tutorial php > Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

WBOY
Lepaskan: 2023-04-10 17:38:01
asal
4858 orang telah melayarinya

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!

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

Fungsi panggil balik PHP

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(&#39;add&#39;, 5, 9);
    echo &#39;5 + 9 =&#39;.$d;
?>
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

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)
Salin selepas log masuk

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(&#39;add&#39;, 3, 4);
    echo &#39;3 + 4 =&#39;.$sum;
?>
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

  • 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, ... ])
Salin selepas log masuk

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(&#39;add&#39;, 250, 250);
    echo &#39;250 + 250 =&#39;.$sum;
?>
Salin selepas log masuk

Hasil output:

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

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,&#39;plusx2&#39;);
//将plusx2改成jian试试结果
echo woziji(20,10,&#39;jian&#39;);
?>
Salin selepas log masuk

Hasil keluaran:

Cara menggunakan fungsi panggil balik PHP (contoh terperinci)

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan