Mengatasi Argumen Fungsi Lalai
Apabila mengisytiharkan fungsi PHP dengan argumen lalai, adalah penting untuk memahami cara mengatasi nilai tersebut semasa masih menggunakan lalai hujah untuk orang lain. Pertimbangkan fungsi berikut:
<code class="php">function foo($blah, $x = "some value", $y = "some other value") { // code here! }</code>
Untuk menggunakan hujah lalai untuk $x semasa menetapkan nilai yang berbeza untuk $y, percubaan salah berikut tidak akan berfungsi:
<code class="php">foo("blah", null, "test"); foo("blah", "", "test");</code>
Memandangkan mereka jangan berikan nilai lalai yang dikehendaki kepada $x. Selain itu, cubaan untuk menetapkan hujah dengan nama pembolehubah:
<code class="php">foo("blah", $x, $y = "test");</code>
gagal menghasilkan hasil yang diharapkan.
Untuk mencapai gelagat yang diingini, pertimbangkan untuk mengubah suai pengisytiharan fungsi seperti berikut:
<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>
Kini, adalah mungkin untuk menggunakan fungsi dengan variasi seperti:
<code class="php">foo('blah', null, 'non-default y value');</code>
dan tetapkannya $x kepada nilai lalai sambil mengatasi $y.
Ia penting untuk ambil perhatian bahawa parameter lalai hanya digunakan pada argumen terakhir dalam definisi fungsi. Jika berbilang parameter mengikut parameter pilihan dengan nilai lalai, tidak mungkin untuk meninggalkan satu dan menentukan yang berikut.
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Argumen Fungsi Lalai dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!