PHP / Операторууд

Операторууд

Оператор бол PHP-д утгуудыг хооронд нь үйлдэл хийдэг тэмдэг юм. Математикийн +, - зэрэг тэмдгүүдийг та аль хэдийн мэдэж байгаа — PHP нь тэдгээрийг мөн дэмждэг, мөн олон нэмэлт оператортой. Операторуудыг сайн мэдэх нь PHP сурахын гол суурь юм.

Арифметик операторууд

Тоон утгуудад математик үйлдэл хийдэг операторууд:

php
<?php
$a = 20;
$b = 6;

echo $a + $b;    // 26  — нэмэх
echo $a - $b;    // 14  — хасах
echo $a * $b;    // 120 — үржих
echo $a / $b;    // 3.333... — хуваах
echo $a % $b;    // 2   — үлдэгдэл (modulus)
echo $a ** $b;   // 64000000 — зэрэг (2.0-с эхэлсэн)

// Бодит жишээ: татварын тооцоолол
$үнэ = 100000;
$татвар = 10;
$нийт = $үнэ + ($үнэ * $татвар / 100);
echo $нийт;      // 110000
?>

Нэмэгдэл ба хорогдол операторууд

php
<?php
$тоо = 5;

// Нэмэгдэл (increment)
$тоо++;      // $тоо = 6  (хэвлэсний дараа нэмэгдэнэ)
++$тоо;      // $тоо = 7  (хэвлэхээс өмнө нэмэгдэнэ)

// Хорогдол (decrement)
$тоо--;      // $тоо = 6
--$тоо;      // $тоо = 5

// Практикт
$оноо = 0;
$оноо++;
$оноо++;
echo $оноо;  // 2
?>

Оноох операторууд

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

php
<?php
$x = 10;

$x += 5;    // $x = $x + 5  → 15
$x -= 3;    // $x = $x - 3  → 12
$x *= 2;    // $x = $x * 2  → 24
$x /= 4;    // $x = $x / 4  → 6
$x %= 4;    // $x = $x % 4  → 2
$x **= 3;   // $x = $x ** 3 → 8

// String-т мөн ашиглана
$мөр = "Сайн ";
$мөр .= "уу!";   // $мөр = "Сайн уу!"
echo $мөр;
?>

Харьцуулах операторууд

Хоёр утгыг харьцуулж true эсвэл false буцаадаг:

php
<?php
$a = 10;
$b = "10";

// Зөвхөн утгыг харьцуулна (loose comparison)
var_dump($a == $b);    // bool(true)  — утга тэнцүү
var_dump($a != $b);    // bool(false) — утга тэнцүү биш

// Утга ба төрлийг хоёуланг нь харьцуулна (strict comparison)
var_dump($a === $b);   // bool(false) — int vs string
var_dump($a !== $b);   // bool(true)

// Хэмжээ харьцуулалт
var_dump(5 > 3);       // bool(true)
var_dump(5 < 3);       // bool(false)
var_dump(5 >= 5);      // bool(true)
var_dump(5 <= 4);      // bool(false)
?>

⚠️ Чухал зөвлөмж: == биш === ашиглах нь аюулгүй — PHP-ийн автомат төрөл хөрвүүлэлт гэнэтийн алдаа үүсгэж болно.

Spaceship оператор <=>

PHP 7-с нэмэгдсэн. Зүүн утга жижиг бол -1, тэнцүү бол 0, том бол 1 буцаана:

php
<?php
echo 1 <=> 2;    // -1
echo 2 <=> 2;    // 0
echo 3 <=> 2;    // 1

// Жагсаалт эрэмбэлэхэд хэрэглэдэг
usort($массив, fn($a, $b) => $a <=> $b);
?>

Логик операторууд

Boolean утгуудыг хооронд нь нэгтгэх операторууд:

php
<?php
$нас = 20;
$нэвтэрсэн = true;

// AND — хоёулаа үнэн байх ёстой
if ($нэвтэрсэн && $нас >= 18) {
    echo "Насанд хүрсэн хэрэглэгч";
}

// OR — нэг нь л үнэн байхад хангалттай
$захиалга_байна = false;
$урьдчилгаа_байна = true;

if ($захиалга_байна || $урьдчилгаа_байна) {
    echo "Нэвтрэх боломжтой";
}

// NOT — эсрэгийг нь авна
$хаалттай = false;
if (!$хаалттай) {
    echo "Нээлттэй байна";
}

// XOR — яг нэг нь л үнэн байх ёстой
var_dump(true xor false);   // bool(true)
var_dump(true xor true);    // bool(false)
?>

Мөр нэгтгэх оператор

PHP-д мөр (string) нэгтгэхэд . ашигладаг:

php
<?php
$нэр = "Дорж";
$овог = "Батсүрэн";

$бүтэн_нэр = $нэр . " " . $овог;
echo $бүтэн_нэр;    // Дорж Батсүрэн

// Товчилсон хэлбэр
$мэнд = "Сайн уу, ";
$мэнд .= $нэр . "!";
echo $мэнд;          // Сайн уу, Дорж!

// Давхар хашилт дотор шууд оруулж болно
echo "Нэр: $нэр, Овог: $овог";
// Нэр: Дорж, Овог: Батсүрэн
?>

Операторуудын давуу чанар (Precedence)

Математикт гүйцэтгэлийн дараалал байдаг шигээ PHP-д мөн тийм:

php
<?php
// Үржих, хуваах нь нэмэх, хасахаас өмнө гүйцэтгэгдэнэ
echo 2 + 3 * 4;      // 14, биш 20

// Хаалт ашиглан дарааллыг өөрчлөх
echo (2 + 3) * 4;    // 20

// Нарийн тооцоололд хаалт ашиглах нь аюулгүй
$үнэ = 50000;
$хямдрал = 0.2;
$татвар = 0.1;
$нийт = $үнэ * (1 - $хямдрал) * (1 + $татвар);
echo $нийт;          // 44000
?>

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

PHP-ийн string (мөр) функцүүдийг судална — мөрийн урт олох, хайх, солих, хуваах, нэгтгэх зэрэг практикт хамгийн их хэрэглэгддэг функцүүдийг сурна.