Memberi Fungsi Akses kepada Pembolehubah Luaran
Soalan anda berkisar tentang menyediakan fungsi dengan akses kepada tatasusunan luaran, membenarkannya mengubah suai dan menambah nilai. Secara lalai, fungsi tidak mempunyai akses terus kepada pembolehubah yang ditakrifkan di luar skopnya.
Untuk memberikan akses, anda boleh menggunakan kata kunci global dalam fungsi tersebut.
function someFunction(){ global $myArr; $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; }
Walaupun pendekatan ini memberikan akses, penggunaan pembolehubah global secara amnya tidak digalakkan kerana ia menjejaskan kebebasan fungsi. Teknik yang lebih disukai ialah mengembalikan tatasusunan yang diubah suai daripada fungsi.
function someFunction(){ $myArr = array(); // At first, you have an empty array $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array return $myArr; } $result = someFunction();
Sebagai alternatif, anda boleh meminta fungsi anda menerima tatasusunan sebagai parameter dan mengubah suainya melalui rujukan.
function someFunction(array & $myArr){ $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array } $myArr = array( ... ); someFunction($myArr); // The function will receive $myArr, and modify it
Pendekatan ini mengekalkan kebebasan fungsi sambil membenarkan ia beroperasi pada tatasusunan luaran. Untuk maklumat lanjut, rujuk bahagian manual PHP mengenai Argumen Fungsi dan Nilai Pengembalian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membenarkan Fungsi PHP Mengakses dan Mengubah Suai Tatasusunan Luaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!