PHP / Өгөгдлийн төрлүүд

Өгөгдлийн төрлүүд

PHP нь хувьсагчийн төрлийг автоматаар тодорхойлдог боловч дотроо тодорхой төрлүүдтэй. Эдгээр төрлүүдийг ойлговол кодоо зөв бичиж, алдаанаас зайлсхийх болно. PHP-д 8 үндсэн өгөгдлийн төрөл байдаг.

Скалар төрлүүд (Scalar types)

Скалар төрлүүд нь ганц утга хадгалдаг хамгийн энгийн төрлүүд юм.

String — Мөр

Текст агуулдаг төрөл. Нэг (') эсвэл давхар (") хашилтаар тэмдэглэнэ:

php
<?php
$нэр = "Батбаяр";
$хот = 'Улаанбаатар';

// Давхар хашилт: хувьсагчийн утгыг шууд оруулж болно
$мэнд = "Сайн уу, $нэр!";
echo $мэнд;    // Сайн уу, Батбаяр!

// Нэг хашилт: хувьсагчийг ORшуулдаггүй
$мэнд2 = 'Сайн уу, $нэр!';
echo $мэнд2;   // Сайн уу, $нэр!

// Урт нь
echo strlen("Улаанбаатар");   // 11
?>

Integer — Бүхэл тоо

Бутархай хэсэггүй бүхэл тоо. Эерэг, сөрөг, тэг байж болно:

php
<?php
$нас = 25;
$температур = -15;
$тэг = 0;

// Арван есдүгээр (hex), найман (octal), хоёрт (binary) системд
$hex = 0xFF;      // 255
$octal = 0777;    // 511
$binary = 0b1010; // 10

echo PHP_INT_MAX;  // 9223372036854775807 (хамгийн том integer)
?>

Float — Бутархай тоо

Бутархай хэсэгтэй тоо. double гэж нэрлэгддэг:

php
<?php
$үнэ = 9999.99;
$pi = 3.14159;
$татвар = 0.1;    // 10%

// Шинжлэх ухааны тэмдэглэгээ
$том_тоо = 1.5e6;   // 1,500,000
$жижиг_тоо = 2.5e-3; // 0.0025

echo $үнэ * (1 + $татвар);  // 10999.989
?>

⚠️ Бутархай тооны тооцооллоор жаахан алдаа гарч болно — санхүүгийн тооцоолоход bcmath эсвэл intl extension ашиглах нь дээр.

Boolean — Логик утга

Зөвхөн true (үнэн) эсвэл false (худал) утгатай:

php
<?php
$нэвтэрсэн = true;
$admin_мөн_үү = false;

// PHP-д доорх утгууд false-тэй тэнцэнэ:
// false, 0, 0.0, "", "0", [], null

if ($нэвтэрсэн) {
    echo "Тавтай морил!";
} else {
    echo "Нэвтрэнэ үү.";
}
?>

Тусгай төрлүүд

Null — Хоосон утга

Хувьсагчид утга байхгүй байгааг илэрхийлдэг:

php
<?php
$утга = null;

// Зарлаагүй хувьсагч мөн null
var_dump($утга);     // NULL

// null шалгах
if ($утга === null) {
    echo "Утга байхгүй байна.";
}

// is_null() функц
echo is_null($утга) ? "null" : "null биш";  // null
?>

Array — Массив

Олон утга хадгалдаг бүтэц. Дараагийн хичээлүүдэд дэлгэрэнгүй судална:

php
<?php
$өнгөнүүд = ["улаан", "ногоон", "цэнхэр"];
$хүн = ["нэр" => "Дорж", "нас" => 30];

echo $өнгөнүүд[0];       // улаан
echo $хүн["нэр"];         // Дорж
?>

Өгөгдлийн төрлийг шалгах

var_dump() функц хувьсагчийн төрөл ба утгыг харуулдаг — debugging хийхэд маш тустай:

php
<?php
$нэр = "Болд";
$нас = 22;
$цалин = 850000.0;
$идэвхтэй = true;
$утга = null;

var_dump($нэр);      // string(4) "Болд"
var_dump($нас);      // int(22)
var_dump($цалин);    // float(850000)
var_dump($идэвхтэй); // bool(true)
var_dump($утга);     // NULL

// gettype() — зөвхөн төрлийн нэрийг буцаана
echo gettype($нэр);  // string
echo gettype($нас);  // integer
?>

Төрөл шилжүүлэх (Type casting)

php
<?php
$тоот_мөр = "42";
$тоо = (int) $тоот_мөр;
echo $тоо + 8;          // 50

$бутархай = (float) "3.14хэрэггүй";
echo $бутархай;          // 3.14

$логик = (bool) 0;
var_dump($логик);        // bool(false)

$мөр = (string) 123;
echo gettype($мөр);      // string
?>

Дараагийн хичээлд:

PHP-ийн операторуудыг судална — арифметик, харьцуулалт, логик операторууд болон тэдгээрийг практикт хэрхэн ашиглахыг үзнэ.