PHP的一个全局变量如其引用了一个局部变量的地址
PHP的一个全局变量如果引用了一个局部变量的地址
- PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> $b = "dasdf"; function abc(){ $a = "abc"; global $b; $b = &$a; echo $b."inner;"; } abc(); echo $b.";";
在函数内部输出b的时候,是abc,但是离开函数后,输出b,又恢复成dasdf的初始值,这是怎么回事呢?按理说,引用了一个局部变量的地址,这个局部变量销毁后,b的值应该是空啊。
------解决方案--------------------
在手册:
http://www.php.net/manual/zh/language.references.whatdo.php#example-251
如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。可以通过使用 $GLOBALS 数组避免这一点。
原因如下:
把 global $var; 当成是 $var =& $GLOBALS['var']; 的简写。从而将其它引用赋给 $var 只改变了本地变量的引用。
------解决方案--------------------
$b = "dasdf";
function abc(){
$a = "abc";
global $b; //这是对 $GLOBALS['b'] 的引用
$b = &$a;
$GLOBALS['bb'] = & $a;
echo $b."inner;";
}
abc(); //abcinner;
echo $b.";"; //dasdf;
echo $bb; //abc
------解决方案--------------------
记住php的两个概念,所有变量都是指针,所有作用域不同的变量是不同的变量,即可

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam era perkembangan teknologi yang pesat hari ini, bahasa pengaturcaraan bermunculan seperti cendawan selepas hujan. Salah satu bahasa yang telah menarik perhatian ramai ialah bahasa Go, yang digemari oleh ramai pembangun kerana kesederhanaan, kecekapan, keselamatan serentak dan ciri-ciri lain. Bahasa Go terkenal dengan ekosistemnya yang kukuh dengan banyak projek sumber terbuka yang sangat baik. Artikel ini akan memperkenalkan lima projek sumber terbuka bahasa Go yang dipilih dan membawa pembaca untuk meneroka dunia projek sumber terbuka bahasa Go. KubernetesKubernetes ialah enjin orkestrasi kontena sumber terbuka untuk automatik

"Go Language Development Essentials: 5 Syor Rangka Kerja Popular" Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go digemari oleh semakin ramai pembangun. Untuk meningkatkan kecekapan pembangunan dan mengoptimumkan struktur kod, ramai pembangun memilih untuk menggunakan rangka kerja untuk membina aplikasi dengan cepat. Dalam dunia bahasa Go, terdapat banyak rangka kerja yang sangat baik untuk dipilih. Artikel ini akan memperkenalkan 5 rangka kerja bahasa Go yang popular dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan rangka kerja ini dengan lebih baik. 1.GinGin ialah rangka kerja web yang ringan dengan pantas

Dengan perkembangan Internet dan kemajuan teknologi maklumat, era data besar telah tiba, dan bidang seperti analisis data dan pembelajaran mesin juga telah digunakan secara meluas. Dalam bidang ini, penjadualan tugas adalah masalah yang tidak dapat dielakkan. Cara untuk mencapai penjadualan tugas yang cekap adalah penting untuk meningkatkan kecekapan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja web Golang rangka kerja Echo untuk melaksanakan penjadualan tugas teragih. 1. Pengenalan kepada rangka kerja Echo Echo ialah rangka kerja GoWeb berprestasi tinggi, berskala dan ringan. Ia berdasarkan HTTP

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Laravel ialah rangka kerja PHP popular yang sangat berskala dan cekap Ia menyediakan banyak alat dan perpustakaan yang berkuasa yang membolehkan pembangun membina aplikasi web berkualiti tinggi dengan cepat. Antaranya, LaravelEcho dan Pusher ialah dua alat yang sangat penting di mana komunikasi WebSockets boleh dilaksanakan dengan mudah Artikel ini akan memperincikan cara menggunakan kedua-dua alat ini dalam aplikasi Laravel. Apakah itu WebSockets? WebSockets

Penjelasan terperinci tentang peranan dan penggunaan kata kunci gema dalam PHP PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas, yang digunakan secara meluas dalam pembangunan web. Kata kunci gema ialah kaedah yang digunakan untuk mengeluarkan kandungan dalam PHP. Artikel ini akan memperkenalkan secara terperinci fungsi dan penggunaan kata kunci gema. Fungsi: Fungsi utama kata kunci gema adalah untuk mengeluarkan kandungan ke penyemak imbas. Dalam pembangunan web, kita perlu mempersembahkan data secara dinamik ke halaman hadapan Pada masa ini, kita boleh menggunakan kata kunci gema untuk mengeluarkan data ke halaman. e

Sebagai bahasa pengaturcaraan yang pantas dan cekap, bahasa Go sentiasa digemari oleh pengaturcara. Dalam ekosistem bahasa Go, rangka kerja memainkan peranan penting dalam membantu pembangun membina aplikasi dengan lebih pantas. Artikel ini akan memperkenalkan lima rangka kerja bahasa Go untuk membolehkan anda memahami ciri dan penggunaannya. 1. Rangka kerja Gin Rangka kerja Gin ialah rangka kerja Web yang ringan dengan ciri prestasi yang pantas dan tinggi. Gunakan rangka kerja Gin untuk membina API RESTful dan aplikasi web dengan cepat. Berikut ialah contoh kod mudah:

Rangka kerja Go yang paling popular pada masa ini termasuk: Gin: rangka kerja web yang ringan dan berprestasi tinggi yang ringkas dan mudah digunakan. Echo: Rangka kerja web yang pantas dan boleh disesuaikan yang menyediakan penghalaan dan perisian tengah berprestasi tinggi. GorillaMux: Pemultipleks pantas dan fleksibel yang menyediakan pilihan konfigurasi penghalaan lanjutan. Fiber: Rangka kerja web berprestasi tinggi yang dioptimumkan prestasi yang mengendalikan permintaan serentak yang tinggi. Martini: Rangka kerja web modular dengan reka bentuk berorientasikan objek yang menyediakan set ciri yang kaya.
