PHP o‘zgaruvchilarning ko‘rinish sohasi (scope)


ULASHISH

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[index] 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.

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!