PHP o‘zgaruvchilarning ko‘rinish sohasi (scope)
PHP O‘zgaruvchilar doirasi
PHP o‘zgaruvchilari PHP kodining istalgan joyida e’lon qilinishi mumkin.
O‘zgaruvchining qamrovi - bu o‘zgaruvchiga murojaat qilish/ishlatish mumkin bo‘lgan skript qismi.
PHP uch xil o‘zgaruvchan doiraga ega:
- global
- mahalliy
- statik
Global qamrov
Funksiyadan tashqarida e’lon qilingan o‘zgaruvchi GLOBAL SCOPEga ega va unga faqat funksiyadan tashqarida kirish mumkin:
Misol
Global ko‘lamli o‘zgaruvchi:
$x = 5; // global scope
function myTest() {
// using x inside this function will not work
echo "Variable x inside function is: $x";
}
myTest();
echo "Variable x outside function is: $x";
O‘zingiz sinab ko‘ring »
Mahalliy qamrov
Funksiya ichida e’lon qilingan o‘zgaruvchiga LOCAL SCOPE ega va unga faqat shu funksiya doirasida kirish mumkin.
Mahalliy o‘zgaruvchilar funksiya chaqirilganda yaratiladi va funksiya bajarilishini tugatgandan so‘ng yo‘q qilinadi:
Misol
Mahalliy qamrovli o‘zgaruvchi:
function myTest() {
$x = 5; // local scope
echo "Variable x inside function is: $x";
}
myTest();
// using x outside the function will not work
echo "Variable x outside function is: $x";
O‘zingiz sinab ko‘ring »
Statik qamrov
Odatda, funksiya bajarilishini tugatgandan so‘ng, uning barcha o‘zgaruvchilari o‘chiriladi.
Biroq, ba’zida biz mahalliy o‘zgaruvchining o‘chirilishini xohlaymiz. Bu bizga kerak
keyingi ish. Bunga erishish uchun static dan foydalaning
o‘zgaruvchini birinchi marta e’lon qilganingizda kalit so‘z.
Keyin, har safar funksiya chaqirilganda, bu o‘zgaruvchi funksiya oxirgi chaqirilgan vaqtdagi qiymatga ega bo‘ladi.
Eslatma: o‘zgaruvchi hali ham funksiya uchun mahalliydir.
Misol
function myTest() {
static $x = 0; // static scope
echo $x;
$x++;
}
myTest();
myTest();
myTest();
O‘zingiz sinab ko‘ring »
PHP global kalit so‘zi
Global kalit so‘z global o‘zgaruvchiga funksiya ichidan kirish uchun ishlatiladi.
Buning uchun o‘zgaruvchilardan oldin global kalit so‘zdan foydalaning (funksiya ichida):
Misol
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
O‘zingiz sinab ko‘ring »
PHP $GLOBALS superglobal o‘zgaruvchisi
PHP ham barcha global o‘zgaruvchilarni $GLOBALS[ deb nomlangan massivda saqlaydi. Indeks o‘zgaruvchining nomini saqlaydi. Ushbu massivga funksiyalar ichidan ham kirish mumkin va global o‘zgaruvchilarni to‘g‘ridan-to‘g‘ri yangilash uchun ishlatilishi mumkin.index]
Yuqoridagi misolni quyidagicha qayta yozish mumkin:
Misol
$x = 5;
$y = 10;
function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
