O'zgaruvchilar — $ belgisi, nom qoidalari, var_dump()
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