Rumah php教程 php手册 PHP中全局变量global和$GLOBALS[]有什么样的区别

PHP中全局变量global和$GLOBALS[]有什么样的区别

Jun 06, 2016 pm 08:41 PM
global pembolehubah global

$GLOBALS['var']是外部的全局变量本身,global $var是外部$var的同名引用或者指针

一、举例比较
例一:
复制代码 代码如下:
$var1 = 1;
function test(){
unset($GLOBALS['var1']);
}
test();
echo $var1;
?>

因为$var1被删除了,所以什么东西都没有打印。
例二:
复制代码 代码如下:
$var1 = 1;
function test(){
global $var1;
unset($var1);
}
test();
echo $var1;
?>

意外的打印了1。证明删除的只是别名引用,其本身的值没有受到任何的改变。

二、解释
global $var其实就是&$GLOBALS['var'],调用外部变量的一个别名而已。
上面代码中的$var1和$GLOBALS['var1']是指的同一变量,而不是两个不同的变量。
PHP的全局变量和C语言有一点点不同。在C语言中,全局变量在函数中主动生效,除非被局部变量笼罩。这可能引起一些问题,有些人可能漫不经心的转变一个全局变量。PHP中全局变量在函数中应用时必须用global申明为全局。
PHP的Global变量的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。

三、结论
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针。
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah perbezaan antara pembolehubah tempatan dan pembolehubah global bagi fungsi C++? Apakah perbezaan antara pembolehubah tempatan dan pembolehubah global bagi fungsi C++? Apr 19, 2024 pm 03:42 PM

Perbezaan antara pembolehubah tempatan C++ dan pembolehubah global: Keterlihatan: Pembolehubah setempat dihadkan kepada fungsi penentu, manakala pembolehubah global boleh dilihat sepanjang program. Peruntukan memori: pembolehubah tempatan diperuntukkan pada tindanan, manakala pembolehubah global diperuntukkan dalam kawasan data global. Skop: Pembolehubah tempatan berada dalam fungsi, manakala pembolehubah global berada di seluruh program. Permulaan: Pembolehubah tempatan dimulakan apabila fungsi dipanggil, manakala pembolehubah global dimulakan apabila program bermula. Rekreasi: Pembolehubah tempatan dicipta semula pada setiap panggilan fungsi, manakala pembolehubah global dibuat hanya apabila program bermula.

Adakah bahasa Go mempunyai pembolehubah global statik? Adakah bahasa Go mempunyai pembolehubah global statik? Jul 11, 2023 pm 03:37 PM

Bahasa pergi tidak mempunyai pembolehubah global statik Ia menggunakan cara yang lebih fleksibel untuk mengendalikan keperluan pembolehubah global biasanya diisytiharkan pada tahap pakej, iaitu pembolehubah yang diisytiharkan di luar fungsi ini . boleh dilihat dan boleh digunakan dalam mana-mana fungsi dalam pakej.

php request什么意思 php request什么意思 Jul 07, 2021 pm 01:49 PM

request的中文意思为“请求”,是php中的一个全局变量,是一个包含了“$_POST”、“$_GET”和“$_COOKIE”的数组。“$_REQUEST”变量可以获取POST或GET方式提交的数据、COOKIE信息。

Melaksanakan keselamatan pembolehubah global dalam JavaScript Melaksanakan keselamatan pembolehubah global dalam JavaScript Jun 15, 2023 pm 10:33 PM

Apabila JavaScript menjadi lebih popular, semakin banyak tapak web dan aplikasi bergantung pada JavaScript. Walau bagaimanapun, penggunaan pembolehubah global dalam JavaScript boleh mempunyai masalah keselamatan. Dalam artikel ini, saya akan memperkenalkan cara melaksanakan keselamatan pembolehubah global dalam JavaScript. Cara terbaik untuk mengelak daripada menggunakan pembolehubah global ialah mengelak daripada menggunakan pembolehubah global. Dalam JavaScript, semua pembolehubah adalah global secara lalai melainkan ia diisytiharkan dalam fungsi. Oleh itu, pembolehubah tempatan harus digunakan apabila boleh

Analisis persaingan data pembolehubah global dan pembolehubah tempatan fungsi Golang Analisis persaingan data pembolehubah global dan pembolehubah tempatan fungsi Golang May 21, 2023 am 08:19 AM

Golang ialah bahasa pengaturcaraan yang ditaip kuat dengan ciri-ciri kecekapan, kesederhanaan, dan keselarasan, jadi ia secara beransur-ansur digemari oleh semakin ramai pembangun. Dalam pembangunan Golang, pembolehubah global dan pembolehubah tempatan fungsi sering melibatkan isu persaingan data. Artikel ini akan menganalisis masalah persaingan data pembolehubah global dan pembolehubah tempatan dalam fungsi Golang dari perspektif pengekodan sebenar. 1. Persaingan data untuk pembolehubah global Pembolehubah global Golang boleh diakses dalam semua fungsi, jadi jika reka bentuk dan pengekodan yang ketat tidak dijalankan

Sistem Xiaomi Mesh AC1200: Sistem jaringan Wi-Fi baharu sehingga 370 meter persegi dilancarkan di seluruh dunia Sistem Xiaomi Mesh AC1200: Sistem jaringan Wi-Fi baharu sehingga 370 meter persegi dilancarkan di seluruh dunia Jun 19, 2024 pm 12:13 PM

Xiaomi telah memperkenalkan satu lagi sistem jaringan WLAN untuk pasaran global. Selepas penghala AC1200 (lebih kurang 69 euro di Amazon) mula dijual di negara ini, Xiaomi Mesh System AC1200 kini telah diumumkan. Produk baharu telah disenaraikan baru-baru ini

Pengisytiharan semula pembolehubah global dalam program C Pengisytiharan semula pembolehubah global dalam program C Sep 20, 2023 pm 10:29 PM

Kita akan melihat bagaimana C dan C++ berkelakuan berbeza apabila mengisytiharkan semula pembolehubah global tanpa permulaan, mengisytiharkan semula pembolehubah global dengan permulaan, dan mengisytiharkan semula pembolehubah global dan memulakannya dua kali. Selain itu, kami akan mengulangi gabungan di atas menggunakan pembolehubah tempatan. 1.A) Program C: Isytiharkan semula pembolehubah global tanpa permulaan #include<stdio.h>intvar;intvar;intmain(){ printf("Var=%d",var return0;} output Var=0B) C++ program:

Bolehkah fungsi golang mengakses terus pembolehubah global dalam goroutine? Bolehkah fungsi golang mengakses terus pembolehubah global dalam goroutine? May 01, 2024 pm 05:51 PM

Ya, fungsi Go dalam Goroutine mempunyai akses terus kepada pembolehubah global secara lalai. Sebab: Goroutine mewarisi ruang memori Goroutine yang menciptanya, termasuk akses kepada pembolehubah global.

See all articles