Bagaimana untuk Mengatasi Argumen Lalai Khusus dalam Fungsi PHP?

Barbara Streisand
Lepaskan: 2024-10-30 13:09:02
asal
954 orang telah melayarinya

How to Override Specific Default Arguments in PHP Functions?

Penggunaan Argumen Lalai Lanjutan dalam Fungsi PHP

Dalam PHP, argumen lalai memberikan kefleksibelan kepada fungsi, membenarkan pembangun mentakrifkan nilai sandaran untuk parameter. Walau bagaimanapun, apabila berurusan dengan berbilang argumen lalai, ia boleh mengelirukan untuk mengatasi argumen tertentu secara terpilih sambil mengekalkan nilai lalai untuk yang lain.

Soalan:

Katakan kami mempunyai fungsi dengan argumen lalai:

<code class="php">function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}</code>
Salin selepas log masuk

Bagaimanakah kita boleh menggunakan argumen lalai untuk $x tetapi menetapkan nilai yang berbeza untuk $y?

Penyelesaian:

Kunci untuk mencapai ini ialah mengubah suai pengisytiharan fungsi:

<code class="php">function foo($blah, $x = null, $y = null) {
    if (null === $x) {
        $x = "some value";
    }

    if (null === $y) {
        $y = "some other value";
    }

    code here!
}</code>
Salin selepas log masuk

Pelarasan ini membolehkan anda memanggil fungsi seperti berikut:

<code class="php">foo('blah', null, 'non-default y value');</code>
Salin selepas log masuk

Dalam kes ini, $x mengekalkan nilai lalainya, manakala $y ditindih dengan nilai bukan lalai yang ditentukan.

Pertimbangan Tambahan:

  • Secara lalai, parameter PHP hanya berfungsi sebagai hujah terakhir dalam fungsi. Tidak mustahil untuk meninggalkan satu parameter dan mengatasi nilai parameter yang mengikutinya.
  • Apabila berurusan dengan bilangan parameter yang berbeza-beza jenis yang berbeza, pertimbangkan untuk mengisytiharkan fungsi dengan bilangan argumen yang berubah-ubah, seperti yang ditunjukkan dalam contoh berikut:
<code class="php">public function __construct($params = null) {
    // code here!
}</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Argumen Lalai Khusus dalam Fungsi 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