Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana Anda Menyimpan Fungsi dalam Array dalam PHP?

Bagaimana Anda Menyimpan Fungsi dalam Array dalam PHP?

Susan Sarandon
Lepaskan: 2024-11-02 16:33:03
asal
636 orang telah melayarinya

How Do You Store Functions in an Array in PHP?

Meneroka Penyimpanan Tatasusunan Fungsi dalam PHP

PHP menawarkan beberapa pilihan untuk menyimpan fungsi dalam tatasusunan, setiap satu dengan implikasinya sendiri.

Fungsi Tanpa Nama

Pendekatan pilihan ialah menggunakan fungsi tanpa nama:

<code class="php">$functions = [
  'function1' => function ($echo) {
        echo $echo;
   }
];</code>
Salin selepas log masuk

Fungsi tanpa nama membenarkan anda mentakrifkan fungsi di-the- terbang, tanpa mengisytiharkannya terlebih dahulu.

Merujuk Fungsi Dinamakan

Jika anda ingin menyimpan fungsi sedia ada, anda boleh merujuknya mengikut nama sebagai rentetan:

<code class="php">function do_echo($echo) {
    echo $echo;
}

$functions = [
  'function1' => 'do_echo'
];</code>
Salin selepas log masuk

Kaedah ini melibatkan pengisytiharan fungsi di luar tatasusunan.

Pendekatan Warisan (PHP < 5.3)

Untuk versi lama PHP yang berfungsi tidak menyokong fungsi tanpa nama, anda boleh menggunakan create_function:

<code class="php">$functions = array(
  'function1' => create_function('$echo', 'echo $echo;')
);<p>Walau bagaimanapun, pendekatan ini tidak digunakan dan harus dielakkan jika boleh.</p>
<p><strong>Memanggil Fungsi Tersimpan</strong></p> <p>Tidak kira kaedah storan yang digunakan, anda boleh menggunakan fungsi secara langsung (PHP >= 5.4) atau dengan call_user_func/call_user_func_array:</p>
<pre class="brush:php;toolbar:false"><code class="php">$functions['function1']('Hello world!');

call_user_func($functions['function1'], 'Hello world!');</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Anda Menyimpan Fungsi dalam Array dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan