August 20, 2024

PHP $GLOBALS haqida

PHP da barcha global o'zgaruvchilar $GLOBALS ko'pligi (massivi) da saqlanadi.

Global o'zgaruvchilarga barcha maydon (scope) da ham kirish mumkin. Hatto funksiya ichida ham ularni ishlatish mumkin.

Script (kod) boshlanganda e'lon qilingan o'zgaruvchilar avtomatik ravishda global o'zgaruvchilar deyiladi.

Global o'zgaruvchilarga funksiya ichida kirish (undan foydalanish) uchun global kalit so'zidan yoki $GLOBALS[] sintaksisidan foydalaniladi.

$x = 75;
  
function myfunction() {
  echo $GLOBALS['x'];
}

myfunction()

global kalit so'zidan foydalanib funksiya ichida shu o'zgaruvchini funksiya ichida qiymatsiz qayta e'lon qilib qo'yish:

$x = 75;
  
function myfunction() {
  global $x;
  echo $x;
}

myfunction()

NATIJA

75

$GLOBALS[] sintaksisi yoki global kalit so'zidan foydalanmasak yuqoridagi funksiya natija bermaydi

$x = 75;
  
function myfunction() {
  echo $x;
}

myfunction()

NATIJA

//hech narsa chiqmaydi

Funksiya ichida ham global o'zgaruvchilarni yaratish mumkin. Buning uchun funksiya ichida $GLOBALS[] sintaksisidan foydalanish kerak

$GLOBALS['foo'] deb yaratadigan bo'lsak bu yerda foo o'zgaruvchi nomiga teng bo'ladi, ya'ni $GLOBALS['foo'] = "bir narsa"; o'zgaruvchisi funksiyadan tashqarida $foo="bir narsa"; kabi ishlaydi.

function myfunction() {
  $GLOBALS["x"] = 100;
}

myfunction();

echo $GLOBALS["x"];
echo "<br>";
echo $x;

NATIJA

100

100

Barcha global o'zgaruvchilar $GLOBALS = ['x' = 100, 'y'= 200, 'z' = 205] kabi saqlanadi. Bunda shuningdek o'zgaruvchi nomini assotsiativ ko'plikdagi indeks nomi deb ham tushunish mumkin.

Assotsiativ array (ko'plik) bu indeksi string turidagi ma'lumotga teng bo'lgan arraydir

Masalan:

$phone_numbers =

[

"Davron" => "555-555-777", "Alisher" => "777-555-888"

];