Хувьсагч ба тогтмол
Программчлалын аль ч хэлэнд өгөгдлийг хадгалах арга хэрэгтэй. PHP-д үүний тулд хувьсагч (variable) ба тогтмол (constant) ашигладаг. Хувьсагч нь өөрчлөгдөж болдог утга, тогтмол нь нэг удаа тогтоогдоод өөрчлөгддөггүй утга хадгалдаг.
Хувьсагч зарлах
PHP-д хувьсагч нь $ тэмдгээр эхэлдэг. Зарлахдаа тусгай тушаал хэрэггүй — шууд утга оноох замаар үүсгэнэ:
<?php
$ner = "Батбаяр";
$nas = 25;
$цалин = 1500000.50;
$идэвхтэй = true;
echo $ner; // Батбаяр
echo $nas; // 25
?>
PHP нь динамик төрлийн (dynamically typed) хэл тул хувьсагчийн төрлийг тодорхой зарлах шаардлагагүй. PHP өөрөө таньж авна.
Нэрлэх дүрмүүд
Хувьсагчийн нэр зөв байхын тулд дараах дүрмийг баримтална:
<?php
// ✓ Зөв нэрлэлтүүд
$oron_too = 42;
$myNer = "Дорж";
$_нуувч = "далд утга";
$ner2 = "хоёрдугаар нэр";
// ✗ Буруу нэрлэлтүүд
// $2ner = "буруу"; ← тоогоор эхэлж болохгүй
// $миний-нэр = "буруу"; ← зураас хэрэглэж болохгүй
// $class = "буруу"; ← PHP-ийн нөөц үгийг ашиглаж болохгүй
?>
Нэр нь үсэг эсвэл _ тэмдгээр эхэлж, үсэг, тоо, _ л агуулж болно.
Утга оноох ба өөрчлөх
Хувьсагч нь нэрнийхээ дагуу "хувьсдаг" — дурын үед утгыг нь солих боломжтой:
<?php
$оноо = 0;
echo $оноо; // 0
$оноо = 100;
echo $оноо; // 100
$оноо = $оноо + 50;
echo $оноо; // 150
// Товчилсон хэлбэр
$оноо += 25;
echo $оноо; // 175
?>
Хувьсагчийн хооронд утга дамжуулах
<?php
$a = 10;
$b = $a; // $a-ийн утгыг $b-д хуулна
$a = 99; // $a өөрчлөгдлөө
echo $a; // 99
echo $b; // 10 — $b өөрчлөгдөөгүй
?>
Тогтмол зарлах
Тогтмол нь нэг удаа утга оноогдоод програм дуустал өөрчлөгддөггүй. define() функц эсвэл const түлхүүр үгээр зарлана:
<?php
// define() ашиглан
define("MAX_ОНОО", 100);
define("САЙТ_НЭР", "Ulaanbaatar.app");
echo MAX_ОНОО; // 100
echo САЙТ_НЭР; // Ulaanbaatar.app
// const ашиглан (класс дотор буюу файлын эхэнд)
const ХУВИЛБАР = "1.0.0";
echo ХУВИЛБАР; // 1.0.0
// ✗ Тогтмолыг өөрчлөх оролдлого — алдаа гарна
// MAX_ОНОО = 200; ← буруу!
?>
Тогтмолын нэрийг заншлаар том үсгээр бичдэг.
PHP-ийн суурь тогтмолууд
PHP нь хэд хэдэн бэлэн тогтмолтой:
<?php
echo PHP_VERSION; // 8.2.12 (таны хувилбар)
echo PHP_EOL; // мөрийн эцэс тэмдэг
echo PHP_INT_MAX; // 9223372036854775807
echo PHP_INT_MIN; // -9223372036854775808
echo M_PI; // 3.1415926535898 (π)
echo DIRECTORY_SEPARATOR; // \ (Windows) эсвэл / (Linux/Mac)
?>
Хувьсагч vs Тогтмол — харьцуулалт
<?php
// Хувьсагч — өөрчлөгдөж болно
$хэрэглэгчийн_нэр = "Дорж";
$хэрэглэгчийн_нэр = "Болд"; // ✓ зөв
// Тогтмол — өөрчлөгдөж болохгүй
define("ТАТВАРЫН_ХУВЬ", 10);
// ТАТВАРЫН_ХУВЬ = 15; // ✗ алдаа!
// Хувьсагч $ тэмдэгтэй, тогтмол $ тэмдэггүй
echo $хэрэглэгчийн_нэр; // Болд
echo ТАТВАРЫН_ХУВЬ; // 10
?>
Дараагийн хичээлд:
PHP-ийн өгөгдлийн үндсэн төрлүүдийг — string, integer, float, boolean, null, array — нарийвчлан судална. var_dump() функцээр хувьсагчийн төрлийг хэрхэн шалгахыг сурна.