Rumah > Artikel > pembangunan bahagian belakang > Adakah semua parameter diluluskan dalam rentetan php?
Tidak, parameter PHP boleh berupa rentetan, nombor, nilai Boolean, tatasusunan, dsb. Bermula dari PHP versi 5.6, ia disokong untuk lulus parameter tatasusunan Parameter formal fungsi boleh menggunakan "..." untuk menunjukkan bahawa fungsi boleh menerima nombor pembolehubah parameter, dan parameter pembolehubah akan dihantar ke fungsi. sebagai tatasusunan Nama fungsi "fungsi" (...$arr){//kod pelaksanaan}".
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 8.1, komputer DELL G3
PHP disesuaikan Fungsi
Untuk mengisytiharkan fungsi tersuai dalam PHP, anda boleh menggunakan format sintaks berikut:
function 函数名 (参数1, 参数2, ..., 参数n){ 函数体; return 返回值; }
Apabila mengisytiharkan fungsi, tanda kurungan "() selepas nama fungsi " juga diperlukan. Satu set senarai parameter yang boleh diterima disertakan dalam kurungan. Parameter ialah pembolehubah yang diisytiharkan, dan kemudian pembolehubah boleh dihantar ke fungsi apabila fungsi dipanggil. Senarai parameter boleh kosong atau mempunyai satu atau lebih parameter Gunakan koma untuk memisahkan berbilang parameter;
Dapat dilihat bahawa senarai parameter fungsi terdiri daripada sifar atau lebih parameter, setiap parameter dipisahkan dengan koma.函数名 (参数1, 参数2, ..., 参数n);Mengikut lokasi di mana parameter digunakan, parameter dibahagikan kepada parameter formal dan parameter sebenar.
Parameter formal ialah senarai parameter dalam kurungan selepas nama fungsi semasa mentakrifkan fungsi (dirujuk sebagai "parameter formal" seperti namanya, parameter formal itu sendiri tidak mempunyai nilai khusus. Oleh kerana badan fungsi perlu menggunakan parameter luaran, untuk membolehkan parameter dihantar dengan betul, ia perlu melalui parameter formal dan data dalam badan fungsi Parameter formal adalah seperti yang ditunjukkan dalam rajah di bawah.
Parameter sebenar ialah beberapa parameter dalam kurungan selepas nama fungsi apabila kita memanggil fungsi (dirujuk sebagai "parameter sebenar" yang diperlukan oleh parameter sebenar tertib satu demi satu Selaras dengan itu, ia akan menggantikan nilai pembolehubah yang sepadan bagi parameter formal dalam badan fungsi Parameter fungsi boleh menjadi nilai tertentu atau pembolehubah Parameter sebenar adalah seperti yang ditunjukkan dalam rajah di bawah.
parameter lulus phpApabila memanggil fungsi, anda perlu menghantar parameter kepada fungsi, yang diluluskan dalam Parameter fungsi dipanggil parameter sebenar, manakala parameter yang ditakrifkan oleh fungsi dipanggil parameter formal. Terdapat empat cara untuk menghantar parameter kepada fungsi, iaitu lulus mengikut nilai, lulus dengan rujukan, parameter lalai dan parameter panjang berubah-ubah.
1. Lulus nilaiLulus nilai ialah kaedah hantaran nilai lalai untuk fungsi dalam PHP, juga dikenali sebagai "salinan melalui nilai". Seperti namanya, kaedah lulus nilai akan menyalin nilai parameter sebenar dan kemudian menyerahkannya kepada parameter formal fungsi, jadi mengendalikan nilai parameter dalam fungsi tidak akan menjejaskan parameter sebenar di luar fungsi. Oleh itu, jika anda tidak mahu fungsi mengubah suai nilai parameter sebenar, anda boleh menghantarnya mengikut nilai.
【Contoh】Yang berikut mentakrifkan fungsi mudah Fungsi ini mempunyai dua parameter, dan nilai parameter ditukar dalam fungsi.
Keputusan larian adalah seperti berikut:<?php function swap($a, $b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>Melalui rujukan
Melepasi parameter mengikut rujukan ialah Alamat memori parameter sebenar disalin dan kemudian diserahkan kepada parameter formal fungsi Kedua-dua parameter sebenar dan parameter formal menghala ke alamat memori yang sama, jadi operasi fungsi pada parameter formal akan mempengaruhi. parameter sebenar di luar fungsi.
Lulus melalui rujukan adalah untuk menghantar alamat memori parameter sebenar kepada parameter rasmi fungsi. Oleh itu, parameter sebenar dan parameter formal menghala ke alamat memori yang sama. Pada masa ini, semua operasi di dalam fungsi akan menjejaskan nilai parameter sebenar di luar fungsi. Kaedah lulus melalui rujukan ialah menambah simbol & berdasarkan nilai lulus, seperti yang ditunjukkan di bawah:
[Contoh] Laraskan sedikit kod contoh di atas dan gunakan kaedah lulus dengan merujuk kepada fungsi swap Pas parameter masuk, kodnya adalah seperti berikut:function name (&参数1, &参数2, ..., &参数3) { ... }Keputusan yang dijalankan adalah seperti berikut:
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>3 . Parameter lalai
Parameter lalai adalah untuk menentukan nilai lalai untuk satu atau lebih parameter formal fungsi Jika nilai yang sepadan tidak dihantar semasa memanggil fungsi, fungsi akan menggunakan lalai ini nilai, yang boleh mengelakkan masalah tiada parameter semasa memanggil Ralat juga boleh membuat beberapa program kelihatan lebih munasabah. Jika parameter yang sepadan dimasukkan, nilai lalai ini akan diganti.
Parameter lalai fungsi adalah seperti berikut:
Antaranya, "halaman web hello Chinese" selepas parameter formal $str ialah nilai lalainya dan parameter formal memerlukan untuk digunakan antara nilai lalaifunction name ($str = 'hello', $url) { echo $str; }Sambung.
=
[Contoh] Mari tentukan fungsi dengan parameter lalai, seperti ditunjukkan di bawah:
<?php function add($a, $b=56){ echo $a.' + '.$b.' = '.($a+$b).'<br>'; } add(11); add(37, 29); ?>
默认参数也可以是多个,而且默认参数必须放在非默认参数右边,并且指定默认参数的值必须是一个具体的值,如数字、字符串,而不能是一个变量。
4、可变长度参数--将一个数组传递给函数
在 PHP 5.6 及以后的版本中,函数的形式参数可使用…来表示函数可接受一个可变数量的参数,可变参数将会被当作一个数组传递给函数。示例如下:
<?php function test(...$arr){ var_dump($arr); } test(1, 2, 3, 4); test(5, 6, 7, 8, 9, 10); ?>
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Adakah semua parameter diluluskan dalam rentetan php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!