O'zgaruvchilar — $ belgisi, nom qoidalari, var_dump()

~12 daq · PHP · Kirish va Asoslar

Muammodan boshlaylik

Internet do'kon sahifasini yasayapsiz. Mahsulot nomi sahifada 5 joyda uchraydi: sarlavhada, narx yonida, savatda, tugmada, <title> da. Nomni o'zgartirish kerak bo'lsa — 5 joyni qidirib topasiz. Bittasini unutsangiz — sahifada ikki xil nom chiqadi.

Yechim: nomni bir marta saqlab qo'yish va kerakli joyda shu saqlangan joyga murojaat qilish. Bu joy — o'zgaruvchi.


O'zgaruvchi nima?

O'zgaruvchi — qiymatga berilgan nom. Ombordagi yorliqli quti kabi: ustida "narx" deb yozilgan, ichida 45000 yotibdi.

PHP da har bir o'zgaruvchi nomi $ belgisi bilan boshlanadi:

<?php

$mahsulot = "Simsiz quloqchin";
$narx = 249000;

echo $mahsulot;   // Simsiz quloqchin
echo $narx;       // 249000

= — matematikadagi tenglik emas. Bu "o'ngdagi qiymatni chapdagi o'zgaruvchiga ber" degani.


Nima uchun $ belgisi?

Boshqa tillarda $ yo'q. PHP da nega kerak?

PHP Perl va shell skriptlaridan ilhomlangan — u yerda o'zgaruvchilar $ bilan yozilgan. Lekin asosiy foyda boshqa: $ tufayli PHP qo'shtirnoq ichidagi matnda o'zgaruvchini darhol taniydi:

<?php

$ism = "Malika";
echo "Salom, $ism!";   // Salom, Malika!

PHP $ism ni ko'rib, "bu o'zgaruvchi" deb tushunadi va qiymatini qo'yadi. Bu haqda stringlar darsida batafsil.


Nom qoidalari

Ruxsat etiladi:

  • $ dan keyin harf yoki past chiziq _ bilan boshlash
  • Keyin harflar, raqamlar, _

Ruxsat etilmaydi:

  • $ dan keyin raqam bilan boshlash
  • Bo'sh joy, -, ., @ kabi belgilar
<?php

// ✅ To'g'ri
$ism = "Ali";
$yosh2 = 25;
$_maxfiy = "abc";
$mahsulotNarxi = 45000;
$mahsulot_narxi = 45000;

// ❌ Xato
$2yosh = 25;          // raqam bilan boshlangan
$mahsulot-narxi = 1;  // tire — bu ayirish deb tushuniladi
$mening ism = "X";    // bo'sh joy

Uslub: PHP jamiyatida (PSR standartlari, Laravel) o'zgaruvchilar uchun ko'pincha camelCase ishlatiladi: $foydalanuvchiIsmi. snake_case ham uchraydi. Asosiysi — bitta loyihada bitta uslub.


Katta-kichik harf

O'zgaruvchi nomlari harfga sezgir:

<?php

$ism = "Ali";
$Ism = "Vali";

echo $ism;   // Ali
echo $Ism;   // Vali — bu boshqa o'zgaruvchi

Qiziq tomoni: funksiya nomlari va echo, if kabi kalit so'zlar sezgir emas (ECHO ham ishlaydi). Lekin o'zgaruvchilar — sezgir. Doim kichik harf bilan boshlang va chalkashmaysiz.


Qiymatni yangilash

<?php

$ball = 10;
echo $ball;     // 10

$ball = 25;     // eski qiymat o'chadi
echo $ball;     // 25

$ball = $ball + 5;
echo $ball;     // 30

Qisqa yozuvlar:

<?php

$ball = 10;
$ball += 5;    // $ball = $ball + 5  → 15
$ball -= 3;    // $ball = $ball - 3  → 12
$ball *= 2;    // $ball = $ball * 2  → 24
$ball /= 4;    // $ball = $ball / 4  → 6
$ball++;       // 1 ga oshirish      → 7
$ball--;       // 1 ga kamaytirish   → 6

Turni oldindan yozish shart emas

PHP — dinamik tipli til. O'zgaruvchi turini PHP qiymatga qarab o'zi aniqlaydi:

<?php

$x = 10;        // butun son
$x = "salom";   // endi matn
$x = 3.14;      // endi kasr son

Bu qulay, lekin ehtiyot bo'lish kerak — tasodifan sonni matnga aylantirib qo'yish oson.


var_dump() — ichida nima borligini ko'rish

echo faqat qiymatni chiqaradi. Lekin ba'zan turi ham kerak. Buning uchun var_dump():

<?php

$ism = "Jasur";
$yosh = 25;
$narx = 19.99;
$aktiv = true;
$manzil = null;

var_dump($ism);     // string(5) "Jasur"
var_dump($yosh);    // int(25)
var_dump($narx);    // float(19.99)
var_dump($aktiv);   // bool(true)
var_dump($manzil);  // NULL

string(5) — bu matn, uzunligi 5 bayt. var_dump() — PHP dasturchisining eng yaqin do'sti. Biror narsa kutilgandek ishlamasa — birinchi qiladigan ishingiz var_dump().

Yana ikki foydali funksiya:

<?php

echo gettype($yosh);   // integer
print_r($ism);         // Jasur — o'qish uchun qulay ko'rinish (massivlarda foydali)

Tez-tez uchraydigan xatolar

$ ni unutish:

<?php

$ism = "Ali";
echo ism;
// Error: Undefined constant "ism"

PHP $ siz so'zni konstanta deb o'ylaydi.

E'lon qilinmagan o'zgaruvchi:

<?php

echo $familiya;
// Warning: Undefined variable $familiya

Bu Warning — dastur to'xtamaydi, lekin bo'sh qiymat chiqadi. Warninglarni hech qachon e'tiborsiz qoldirmang — ular odatda xato yozilgan nomni ko'rsatadi ($familya va $familiya).

Nom ichida xato:

<?php

$mahsulotNarxi = 5000;
echo $mahsulotnarxi;   // Warning: Undefined variable — "n" kichik harf

Xulosa

O'zgaruvchi — qiymatga berilgan nom. PHP da har doim $ bilan boshlanadi.

Eslab qoling:

  • $nom = qiymat; — o'zgaruvchi yaratish
  • Nom harf yoki _ bilan boshlanadi, raqam bilan emas
  • O'zgaruvchilar harfga sezgir: $ism ≠ $Ism
  • Tur oldindan yozilmaydi — PHP o'zi aniqlaydi
  • var_dump($x) — qiymat va turni ko'rsatadi; xato qidirishda birinchi yordamchi

Keyingi dars

4-dars: Ma'lumot turlari — int, float, string, bool, null va tur o'zgartirish