Perkataan lulus melalui rujukan Bahasa Pengaturcaraan PHP itu sendiri mengatakan bahawa apabila pembolehubah melalui rujukan maka simbol ampersand (&) akan ditambah sejurus sebelum hujah/argumen pembolehubah. Sekarang ambil contoh contoh "fungsi(&$x)", di sini skop pembolehubah global dan fungsi adalah untuk menjadi nilai global kerana ia ditakrifkan menggunakan konsep rujukan yang sama. Jadi apabila pembolehubah global akan diubah maka pembolehubah yang berada di dalam fungsi itu juga akan berubah dan begitu juga sebaliknya dan ia akan digunakan untuk semua ini.
IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks dan parameter
function function_name(&$function_parameter){ .. .. }
Penjelasan parameter pas PHP melalui rujukan:
Rujukan lulus bagi Bahasa Pengaturcaraan PHP pada asasnya berfungsi hanya memintas pembolehubah/pembolehubah melalui rujukan dengan bantuan simbol ampersand(&) sejurus sebelum hujah pembolehubah. Jika kita lulus pembolehubah dengan konsep rujukan maka fungsi boleh mempunyai keupayaan untuk mengubah suai pembolehubah. Dengan cara ini, konsep rujukan lulus PHP berfungsi dan ia merupakan konsep penting untuk diketahui pada beberapa kes pengekodan. Untuk sesetengah versi PHP, konsep rujukan lulus tidak berfungsi dengan baik. Dalam PHP 5.3.0, anda akan menghadapi amaran yang mengatakan bahawa "rujukan pas masa panggilan" dan dalam versi PHP 5.4.0, rujukan melalui masa panggilan akan dialih keluar jadi penggunaannya akan menimbulkan beberapa ralat maut dalam beberapa versi PHP.
Di bawah adalah contoh yang dinyatakan:
Ini ialah contoh menggambarkan konsep rujukan lulus bagi Bahasa Pengaturcaraan PHP. Di sini pada mulanya fungsi "calculate()" dicipta bersama dengan parameter fungsi rujukannya "$a1". Kemudian di dalam fungsi, nilai pembolehubah itu dinaikkan. Kemudian selepas keluar dari fungsi "$a1" nilai pembolehubah diisytiharkan sebagai "5". Kemudian dengan menggunakan nilai fungsi gema $a1 akan dicetak dan kemudian fungsi hitung() dipanggil. Selepas memanggil fungsi, fungsi gema digunakan sekali lagi dan kali ini nilai pembolehubah akan dicetak sebagai “6” kerana kenaikan.
Kod:
<?php function calculate(&$a1){ $a1++; } $a1=5; echo "This is the value of a1 variable before the function call :: "; echo $a1; echo "<br>"; echo "This is the value of a1 variable after the function call :: "; calculate($a1); echo $a1; ?>
Output:
Ini juga merupakan contoh untuk menggambarkan konsep bahasa PHP yang sama tetapi di sini nilai rentetan digunakan dan bukannya menggunakan nilai berangka seperti contoh 1. Di sini fungsi print_string() adalah dengan pembolehubah "string1" selepas simbol ampersand. Kemudian di dalam fungsi, nilai pembolehubah string1 ditetapkan sebagai "Function sake" dan kemudian digunakan untuk mencetak nilai pembolehubah string1. Kemudian di luar fungsi, sekali lagi nilai pembolehubah string1 ditetapkan sebagai "Global sake". Kemudian sekali lagi pembolehubah $string1 dicetak menggunakan fungsi cetakan tetapi kali ini nilai rentetan yang terdapat di dalam fungsi dicetak tetapi bukan nilai global. Ini kerana konsep PHP yang sama.
Kod:
<?php // Here Function is used just for assigning the new value to // some $string1 variable and then printing it echo "This is the exampe of PHP pass by reference concept :: "; echo "<hr>"; function print_string( &$string1 ) { $string1 = "Function sake \n"; // Print $string1 variable print( $string1 ); echo "<br>"; } // Drivers code $string1 = "Global sake \n"; print_string( $string1 ); print( $string1 ); echo "<br>"; ?>
Output:
Contoh ini sama dengan contoh 2 tetapi di sini simbol ampersand tidak digunakan hanya untuk memastikan apa yang akan berlaku jika ia tidak digunakan. Jika ampersand tidak digunakan kita boleh memanggilnya sebagai konsep nilai lulus juga. Jadi jangan lupa untuk menggunakan & simbol sebelum parameter pembolehubah fungsi jika anda tidak mahu keupayaan. Di sini pada output cetakan kedua, anda akan mendapat "Global sake" kerana kekurangan konsep rujukan lulus. Lihat sahaja output contoh 2 dan contoh 3 untuk memahami konsep dengan lebih baik.
Kod:
<?php // Here Function is used just for assigning the new value to // some $string1 variable without using ampersand and then printing it echo "This is the example of PHP pass by reference concept but exempted ampersand symbol :: "; echo "<hr>"; function print_string( $string2 ) { $string2 = "Function sake \n"; // Print $string1 variable echo "This is the function's variable parameter value inside function :: "; print( $string2 ); echo "<br>"; } // Drivers code $string2 = "Global sake \n"; print_string( $string2 ); echo "This is the function's variable parameter value outside the function :: "; print( $string2 ); echo "<br>"; ?>
Output:
This is the example of implementing the swapping functionality with the help of the swap() function and the same concept of the PHP Programming Language. Here at first two variables a1 , b1 is created with numerical and string values. Then those numbers are swapped with the swap() function. Then inside of the function using an extra variable value are jumbled to one other for swapping functionality. Then swapping will be done with that function. You can check out the output in the output section to understand the pass by reference with the swapping mechanism of PHP.
Code:
<?php // ------------------------------------------ // This is sample Demo call of swap(...) function below. echo "This is the example of swapping two variable values using the pass by reference concept of PHP :: "; echo "<br>"; $a1 = 123.456; $b1 = 'abcDEF'; print "<pre class="brush:php;toolbar:false">Define:\na1 = $a1\nb1 = '$b1'"; swap($a1,$b1); print "
After swap(a1,b1):\na1 = '$a1'\nb1 = $b1"; // ------------------------------- function swap (&$arg11, &$arg12) { // Now Swapping the contents of the indicated variables. $w1=$arg11; $arg11=$arg12; $arg12=$w1; } ?>
Output:
I hope you learned what is the definition of PHP pass by reference along with its syntax and some explanation of the parameters, How the works in PHP Programming Language along with various examples of PHP to understand PHP pass by reference concept better.
Atas ialah kandungan terperinci PHP Lulus dengan Rujukan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!