Kaedah: 1. Gunakan kata kunci global dan gunakan pernyataan "nama pembolehubah luaran global;" dalam kaedah untuk mengimport pembolehubah luaran 2. Gunakan pembolehubah "$GLOBALS" dan gunakan terus "$ dalam kaedah GLOBALS['a']" pernyataan boleh merujuk kepada pembolehubah luaran; 3. Gunakan pemindahan nilai untuk menghantar pembolehubah luaran sebagai parameter.
Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Hari ini saya menulis program menggunakan asli tulen Kaedah PHP, apabila anda ingin memanggil pembolehubah global luaran, hasilnya: sama ada ralat dilaporkan, atau tiada output?
Mari kita bincangkan tentang sebab dan penyelesaian:
Skop pembolehubah
Dalam kaedah (fungsi) yang ditentukan pengguna, skop fungsi Tempatan akan diperkenalkan. Sebarang pembolehubah yang digunakan di dalam fungsi akan dihadkan kepada skop fungsi setempat secara lalai. Contohnya:
<?php $a = 1; /* global scope */ function Test() { echo $a; /* reference to local scope variable */ } Test(); ?>
Skrip ini tidak akan menghasilkan keluaran kerana pernyataan gema merujuk kepada versi tempatan pembolehubah $a dan ia tidak diberikan nilai dalam skop ini.
Anda mungkin perasan bahawa pembolehubah global PHP sedikit berbeza daripada bahasa C, pembolehubah global secara automatik berkuat kuasa dalam fungsi melainkan ditindih oleh pembolehubah tempatan. Ini mungkin menyebabkan beberapa masalah, seseorang mungkin secara tidak sengaja menukar pembolehubah global. Pembolehubah global dalam PHP mesti diisytiharkan global apabila digunakan dalam fungsi.
Penyelesaian pertama: kata kunci global---isytiharkan pembolehubah di luar fungsi secara global dalam fungsi
<?php $a = 1; $b = 2; $c = 3; function demo(){ global $a,$b,$c; echo '$a = '.$a; echo '<br>$b = '.$b; echo '<br>$c = '.$c; } demo(); ?>
Lihat output:
Analisis: Peranan
kata kunci global adalah untuk mengimport pembolehubah global dan menggunakan bentuk global 变量1, 变量2, ...
untuk mengimport 全局变量1, 变量2...
ke dalam fungsi Dalam tempatan skop, pembolehubah global yang ditakrifkan di luar fungsi boleh digunakan di dalam fungsi.
Anda perlu memberi perhatian kepada perkara berikut apabila menggunakan kata kunci global:
Kata kunci global hanya boleh digunakan di dalam fungsi, bukan di luar fungsi
Kata kunci global hanya boleh digunakan untuk merujuk kepada pembolehubah global di luar fungsi, dan tidak boleh ditugaskan secara langsung apabila merujuk >
Hasil output ialah:
<?php $a = 1; $b = 2; $c = 3; function demo(){ echo '$a = '.$GLOBALS['a']; echo '<br>$b = '.$GLOBALS['b']; echo '<br>$c = '.$GLOBALS['c']; } demo(); ?>
Analisis:
ialah sejenis pembolehubah yang dipratentukan (juga dipanggil pembolehubah super global), iaitu tatasusunan gabungan global yang mengandungi semua pembolehubah Nama pembolehubah ialah kunci tatasusunan Anda boleh menggunakan borang untuk mengakses pembolehubah global yang ditentukan. Selagi ia merupakan pembolehubah global yang telah muncul, ia boleh diperolehi melalui tatasusunan $GLOBALS
. $GLOBALS['变量名']
$GLOBALS
Sebab:
Apabila menggunakan kata kunci global untuk mengubah suai pembolehubah $var, ia merujuk kepada pembolehubah dengan nama yang sama di luar fungsi, dan bahagian dalam dan luar ialah dua pembolehubah yang tidak menjejaskan satu sama lain;
Dan $GLOBALS['var'] merujuk kepada pembolehubah luaran fungsi itu sendiri, iaitu pembolehubah.
<?php header('content-type:text/html;charset=utf-8'); $mytext="PHP中文网"; function chao_echo($mytext){ echo $mytext; } chao_echo($mytext); ?>
Disyorkan pembelajaran: "
Tutorial Video PHPAtas ialah kandungan terperinci Bagaimana untuk menggunakan pembolehubah luaran dalam kaedah dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!