Menggunakan Argumen Lalai dalam Fungsi
Apabila mencipta fungsi PHP, anda boleh menentukan nilai lalai untuk argumen untuk memberikan fleksibiliti dan mengurangkan keperluan untuk tugasan yang jelas. Walau bagaimanapun, menetapkan argumen yang berbeza untuk parameter kemudian dalam pengisytiharan fungsi kadangkala boleh mengelirukan.
Pertimbangkan fungsi berikut:
<code class="php">function foo($blah, $x = "some value", $y = "some other value") { // code here! }</code>
Untuk menggunakan argumen lalai untuk $x dan tetapkan nilai yang berbeza untuk $y, hanya lulus null untuk $x seperti berikut:
<code class="php">foo("blah", null, "test");</code>
Ini memberikan nilai lalai "beberapa nilai" kepada $x sambil mengatasi lalai untuk $y.
Walau bagaimanapun, cuba untuk menetapkan $x dengan nama pembolehubahnya (cth., foo("blah", $x, $y = "test")) tidak akan berfungsi seperti yang diharapkan. Ini kerana argumen lalai hanya boleh digunakan pada parameter terakhir dalam definisi fungsi.
Untuk menangani had ini dan membenarkan pengendalian hujah yang lebih dinamik, anda boleh mengubah suai pengisytiharan fungsi seperti itu:
<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>
Dengan pendekatan ini, anda boleh menghantar nilai nol untuk parameter tertentu untuk menggunakan nilai lalainya sambil mengatasi yang lain seperti itu:
<code class="php">foo("blah", null, "non-default y value");</code>
Dalam contoh ini, $x akan menerima nilai lalainya manakala $ y akan diberikan nilai bukan lalai yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Menulis Ganti Argumen Lalai dalam Fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!