Saya mempunyai tatasusunan di luar:
$myArr = array();
Saya mahu fungsi saya mengakses tatasusunan di luarnya supaya ia boleh menambah nilai padanya
function someFuntion(){ $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; }
Bagaimana untuk memberi pembolehubah skop yang betul untuk fungsi?
Anda boleh menggunakan fungsi tanpa nama:
Atau anda boleh menggunakan fungsi anak panah:
Secara lalai, apabila anda berada di dalam fungsi, anda tidak mempunyai akses kepada pembolehubah luaran.
Jika anda mahu sesuatu fungsi boleh mengakses pembolehubah luaran, anda mesti mengisytiharkannya sebagai pembolehubah global di dalam fungsi:
Untuk maklumat lanjut, lihat Skop boleh ubah .
Tetapi sila ambil perhatian bahawa menggunakan pembolehubah global bukanlah amalan yang baik: dengan cara ini fungsi anda tidak lagi bebas.
Idea yang lebih baik ialah mempunyai fungsi anda kembalikan hasilnya :
dan panggil fungsi seperti ini:
Fungsi anda juga boleh menerima hujah dan juga mengendalikan hujah yang diluluskan melalui rujukan :
Kemudian, panggil fungsi seperti ini:
Dengan ini:
Untuk maklumat lanjut, anda harus membaca bahagian functions, terutamanya subseksyen berikut: