Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah kaedah lulus parameter fungsi PHP dicerminkan dalam parameter bernama?
Dalam PHP, parameter yang dinamakan membenarkan menentukan nama parameter, yang boleh digabungkan dengan nilai lulus dan rujukan lulus. Melepasi nilai menyalin nilai parameter, dan pengubahsuaian dalam fungsi tidak menjejaskan nilai asal. Alamat parameter yang disalin diluluskan melalui rujukan, dan pengubahsuaian dalaman fungsi secara langsung mengubah nilai asal.
Dalam PHP, terdapat dua cara lulus parameter: lulus mengikut nilai dan lulus melalui rujukan. Apabila menggunakan parameter bernama, anda boleh menentukan nama parameter secara eksplisit, dengan itu membezakan parameter berbeza dan mengendalikannya secara berbeza bergantung pada cara ia diluluskan.
Apabila menggunakan nilai lulus, nilai parameter yang dihantar ke dalam fungsi akan disalin ke dalam fungsi. Dalam kes ini, sebarang pengubahsuaian kepada nilai parameter di dalam fungsi tidak akan menjejaskan nilai asal.
function example(int $number) { $number++; // 修改了函数内部的 $number } $num = 10; example($num); // $num 仍然是 10,因为函数的参数是按值传递的
Apabila menggunakan rujukan lulus, alamat parameter yang dihantar ke dalam fungsi akan disalin ke bahagian dalam fungsi. Ini bermakna pengubahsuaian kepada nilai parameter dalam fungsi secara langsung mempengaruhi nilai asal.
Untuk menggunakan rujukan lulus, anda perlu menambah simbol &
sebelum jenis parameter. &
符号。
function example(int &$number) { $number++; // 修改了函数内部的 $number,也修改了原始 $num } $num = 10; example($num); // $num 现在是 11,因为函数的参数是按引用传递的
在使用命名参数时,可以通过在参数列表中使用 :
符号,然后指定参数名称并赋值来传递参数。此时,PHP 会自动根据参数名称来匹配对应的值。
命名参数结合了按值传递和按引用传递的优势。当参数使用按值传递时,它会自动创建参数值的一个副本。但是,如果您需要在函数内部对原始值进行修改,则可以通过在参数名称前加上 &
符号,将其按引用传递。
例如,以下函数根据 $operation
function calculator(int $num1, int $num2, string $operation) { switch ($operation) { case 'add': $result = $num1 + $num2; break; case 'subtract': $result = $num1 - $num2; break; case 'multiply': $result = $num1 * $num2; break; case 'divide': if ($num2 !== 0) { $result = $num1 / $num2; } else { throw new DivisionByZeroError; } break; } return $result; } $num1 = 10; $num2 = 5; $operation = 'add'; // 可以使用命名参数显式指定参数名称 $result = calculator(num1: $num1, num2: $num2, operation: $operation);Termasuk dalam parameter bernamaApabila menggunakan parameter bernama, anda boleh lulus parameter dengan menggunakan simbol
:
dalam senarai parameter, kemudian nyatakan nama parameter dan berikan nilai. Pada masa ini, PHP secara automatik akan memadankan nilai yang sepadan berdasarkan nama parameter. 🎜🎜Parameter yang dinamakan menggabungkan kelebihan lulus mengikut nilai dan lulus melalui rujukan. Apabila parameter diluluskan oleh nilai, ia secara automatik mencipta salinan nilai parameter. Walau bagaimanapun, jika anda perlu mengubah suai nilai asal di dalam fungsi, anda boleh menghantarnya melalui rujukan dengan mendahului nama parameter dengan simbol &
. 🎜🎜Sebagai contoh, fungsi berikut menjalankan operasi berbeza berdasarkan parameter $operation
. 🎜rrreee🎜Dengan menggunakan parameter yang dinamakan, anda boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod anda dan menyatakan dengan jelas nama setiap parameter dan cara ia dihantar. Ini membantu mengelakkan ralat semasa menghantar parameter dan menjadikan kod lebih mudah untuk nyahpepijat. 🎜Atas ialah kandungan terperinci Bagaimanakah kaedah lulus parameter fungsi PHP dicerminkan dalam parameter bernama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!