Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah pembolehubah global dalam pembelajaran pembolehubah PHP? Bagaimana untuk memanggil dalam fungsi

Apakah pembolehubah global dalam pembelajaran pembolehubah PHP? Bagaimana untuk memanggil dalam fungsi

青灯夜游
青灯夜游asal
2021-08-09 15:34:134687semak imbas

Dalam artikel sebelumnya "Cara untuk menetapkan nama pembolehubah secara dinamik dalam PHP", kami memperkenalkan pembolehubah pembolehubah dalam PHP dan mempelajari cara menetapkan nama pembolehubah secara dinamik. Kali ini kita akan melihat kaedah memanggil pembolehubah global di dalam fungsi Anda boleh merujuknya jika perlu.

Sebelum memperkenalkan kaedah memanggil pembolehubah global dalam fungsi, mari belajar tentang skop pembolehubah dan pembolehubah global .

Skop pembolehubah, secara ringkasnya, ialah skop di mana pembolehubah boleh digunakan dalam skop yang sah Jika melebihi skop yang sah, pembolehubah akan kehilangan maknanya.

Mengikut skop, pembolehubah boleh dibahagikan kepada pembolehubah tempatan dan pembolehubah global.

Pembolehubah setempat merujuk kepada pembolehubah yang diisytiharkan di dalam fungsi dan hanya boleh digunakan dalam fungsi pembolehubah global merujuk kepada pembolehubah yang diisytiharkan di luar fungsi, dan skopnya berada di mana-mana dalam kod sumber semasa, tetapi dalam fungsi itu; tidak tersedia.

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

Analisis: Jika anda ingin mengeluarkan pembolehubah global $a, $b, $c dalam demo fungsi(), anda akan mendapati bahawa ia bukan output dan ralat dilaporkan:

Apakah pembolehubah global dalam pembelajaran pembolehubah PHP? Bagaimana untuk memanggil dalam fungsi

Tetapi kadangkala kita perlu menggunakan pembolehubah global dalam sesuatu fungsi, apakah yang perlu kita lakukan?

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

Mari kita lihat contoh di bawah:

<?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();
?>

Lihat output:

$a = 1
$b = 2
$c = 3

Analisis:

global Fungsi daripada kata kunci itu ialah: import pembolehubah global, gunakan bentuk global 变量1, 变量2, ... untuk mengimport 全局变量1, 变量2... ke dalam skop tempatan sesuatu fungsi, dan kemudian anda boleh menggunakan pembolehubah global yang ditakrifkan di luar fungsi di dalam fungsi tersebut.

Mari kita lihat contoh lain:

<?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();
?>

Hasil output ialah:

$a = 1
$b = 2
$c = 3

Analisis:

$GLOBALS ialah a Pembolehubah yang dipratentukan (juga dipanggil pembolehubah superglobal) ialah tatasusunan gabungan global yang mengandungi semua pembolehubah Nama pembolehubah ialah kunci tatasusunan Anda boleh menggunakan borang $GLOBALS['变量名'] untuk mengakses pembolehubah global yang ditentukan. Selagi ia merupakan pembolehubah global yang telah muncul, ia boleh diperolehi melalui tatasusunan $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.

Itu sahaja jika anda ingin tahu apa-apa lagi, anda boleh klik di sini. → →tutorial video php

Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Masuki dunia PHP dari 0, datang dan belajar!

Atas ialah kandungan terperinci Apakah pembolehubah global dalam pembelajaran pembolehubah PHP? Bagaimana untuk memanggil dalam fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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