Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan penunjuk fungsi PHP?

Bagaimana untuk menggunakan penunjuk fungsi PHP?

WBOY
WBOYasal
2024-04-16 10:42:021104semak imbas

Penunjuk fungsi PHP membenarkan fungsi dihantar sebagai parameter, yang boleh digunakan untuk membuat fungsi panggil balik atau menggunakan semula kod. Sintaks: $functionPointer = function_name; atau fungsi tanpa nama: $functionPointer = function($arg1, $arg2) { ... }; parameter penunjuk fungsi penerimaan fungsi dan gunakan call_user_func() untuk memanggil fungsi. Nota: Penunjuk fungsi mestilah fungsi yang sah atau fungsi tanpa nama ia tidak boleh menunjuk kepada kaedah persendirian akan dihasilkan jika fungsi itu tidak wujud;

如何使用 PHP 函数指针?

Cara menggunakan penunjuk fungsi PHP

Penunjuk fungsi membolehkan anda menghantar fungsi sebagai argumen kepada fungsi lain. Ini berguna apabila anda memerlukan fungsi panggil balik atau ingin mencipta kod boleh guna semula.

Syntax

$functionPointer = function_name;

Anda juga boleh membuat penunjuk fungsi menggunakan fungsi tanpa nama:

$functionPointer = function($arg1, $arg2) { ... };

Contoh praktikal

Berikut ialah contoh cara menggunakan penunjuk fungsi:

rreee dalam contoh di atas:

<?php

function multiply($a, $b) {
  return $a * $b;
}

function applyFunction($function, $a, $b) {
  return call_user_func($function, $a, $b);
}

$result = applyFunction("multiply", 5, 10);

echo $result; // 输出:50
e dipanggil fungsi dan lulus dalam parameter yang tinggal. applyFunction() 函数接受一个函数指针作为第一个参数。它使用 call_user_func()

Nota

    Penunjuk fungsi mestilah nama fungsi yang sah atau fungsi tanpa nama.
  • Penunjuk fungsi tidak boleh digunakan dalam kaedah persendirian.
  • Jika kaedah yang ditunjukkan oleh penuding fungsi tidak wujud pada masa jalan, ralat akan dijana.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan penunjuk fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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