Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengatasi Argumen Lalai Khusus dalam Fungsi PHP?

Bagaimana untuk Mengatasi Argumen Lalai Khusus dalam Fungsi PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-30 13:09:02913semak imbas

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>

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>

Pelarasan ini membolehkan anda memanggil fungsi seperti berikut:

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

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>

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!

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