Fungsi panggil balik fungsi tersuai PHP

Fungsi panggil balik boleh digunakan dengan fungsi tanpa nama dan fungsi berubah-ubah untuk mencapai struktur fungsi yang lebih cantik dan kompleks.

Fungsi panggil balik bermakna apabila memproses fungsi, saya ingin menjadikan fungsi ini lebih boleh disesuaikan Apabila saya membenarkan fungsi ini dipanggil, saya juga boleh menghantar fungsi untuk dipadankan. , membantu dalam pemprosesan.

Ini ialah bab yang menggabungkan fungsi pembolehubah dan fungsi panggil balik.

<?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');

?>

Proses pemprosesan adalah seperti berikut:

1. Berikan 20 kepada parameter formal $one, 10 hingga $two, dan dua fungsi pembolehubah plusx2 atau jian diberikan kepada $func

2. Dalam fungsi woziji, tentukan sama ada plusx2 atau jian ialah fungsi Jika ia bukan fungsi, kembalikan palsu dan hentikan pelaksanaan

3. Tunjukkan bahawa plusx2 atau jian ialah fungsi. Oleh itu, $satu = 20, $dua =10 ditambah Selepas penambahan, $satu dan $dua dibawa ke dalam $func($satu,$dua).

4. Selepas bawa masuk, $func berubah dan boleh plusx2 atau jian. Jika tambahx2, dua keputusan $satu = 20, $dua = 10 diberikan kepada $foo dan $bar

dalam fungsi tambahx2 5. $foo + $bar didarab dengan 2 dan hasilnya ialah Kembali ke operasi badan fungsi woziji: $one + $two + $func($one,$two);

6. Dengan cara ini, kita mendapat hasil operasi

Kini kami memahami fungsi Panggilan Balik: Dalam fungsi panggil balik, masukkan nama fungsi dan tambahkan kurungan () pada nama fungsi. Kenali ia sebagai fungsi pembolehubah dan laksanakannya bersama-sama.

Meneruskan pembelajaran
||
<?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'); ?>
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!