Rumah > pembangunan bahagian belakang > masalah PHP > Apakah yang perlu saya lakukan jika pembolehubah global php tidak boleh digunakan dalam fungsi?

Apakah yang perlu saya lakukan jika pembolehubah global php tidak boleh digunakan dalam fungsi?

青灯夜游
Lepaskan: 2023-03-13 08:24:02
asal
3678 orang telah melayarinya

Penyelesaian: 1. Gunakan kata kunci global untuk mengimport pembolehubah global dalam fungsi, sintaksnya ialah "pembolehubah global global 1, pembolehubah global 2, ..." 2. Gunakan pembolehubah super global "$GLOBALS " untuk mengakses pembolehubah Global yang ditentukan, sintaksnya ialah "$GLOBALS['nama pembolehubah global']".

Apakah yang perlu saya lakukan jika pembolehubah global php tidak boleh digunakan dalam fungsi?

Persekitaran pengendalian tutorial ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Secara amnya, pembolehubah global tidak boleh digunakan dalam fungsi Tetapi kadangkala kita perlu menggunakan pembolehubah global dalam fungsi, apakah yang perlu kita lakukan?

PHP menyediakan dua penyelesaian: kata kunci global dan pembolehubah super global $GLOBALS.

Kaedah 1. Gunakan kata kunci global

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>
Salin selepas log masuk

untuk melihat hasil output:

$a = 1
$b = 2
$c = 3
Salin selepas log masuk
Salin selepas log masuk

Analisis:

Fungsi

kata kunci global ialah untuk mengimport pembolehubah global Gunakan bentuk global 变量1, 变量2, ... untuk mengimport 全局变量1, 变量2... ke dalam skop tempatan sesuatu fungsi, supaya 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 >

  • dalam fungsi Apabila pembolehubah yang diubah suai dengan kata kunci global dimusnahkan secara dalaman, pembolehubah di luar fungsi tidak terjejas.
Kaedah 2: Menggunakan $GLOBALS pembolehubah super global

Hasil output ialah:
<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>
Salin selepas log masuk

Analisis :
$a = 1
$b = 2
$c = 3
Salin selepas log masuk
Salin selepas log masuk

ialah pembolehubah yang dipratentukan (juga dipanggil pembolehubah super global), yang merupakan tatasusunan gabungan global yang mengandungi semua pembolehubah Nama pembolehubah ialah kunci tatasusunan dan boleh diakses menggunakan borang

Nyatakan pembolehubah global. Selagi ia merupakan pembolehubah global yang telah muncul, ia boleh diperolehi melalui tatasusunan $GLOBALS. $GLOBALS['变量名']$GLOBALS

Perbezaan antara global dan $GLOBALS

    global hanya boleh digunakan di dalam fungsi, bukan di luar fungsi manakala $GLOBALS boleh digunakan dalam program Ia boleh digunakan di mana-mana (fungsi dalam dan luar).
  • Apabila pembolehubah yang diubah suai dengan kata kunci global dimusnahkan di dalam fungsi, pembolehubah di luar fungsi tidak terjejas;
  • 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 adalah dua pembolehubah yang tidak menjejaskan satu sama lain;

    Dan $GLOBALS['var'] merujuk kepada pembolehubah luaran fungsi itu sendiri, iaitu pembolehubah.

  • Pembelajaran yang disyorkan: "
Tutorial Video PHP

"

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika pembolehubah global php tidak boleh digunakan dalam fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan