0%

➕ PHP Operatori

Operatori ļauj veikt darbības ar vērtībām un mainīgajiem – matemātiskus aprēķinus, salīdzināšanu, loģiskās darbības un vairāk.

php

Aritmētiskie operatori

OperatorsNosaukumsPiemērsRezultāts
+Saskaitīšana5 + 38
-Atņemšana10 - 46
*Reizināšana3 * 412
/Dalīšana15 / 35
%Atlikums (modulo)10 % 31
**Kāpināšana2 ** 8256
Teksts
<?php
$a = 10;
$b = 3;

echo $a + $b . "<br>";  // 13
echo $a - $b . "<br>";  // 7
echo $a * $b . "<br>";  // 30
echo $a / $b . "<br>";  // 3.333...
echo $a % $b . "<br>";  // 1
echo $a ** $b . "<br>"; // 1000 (10^3)

// Noderīgas matemātiskās funkcijas
echo abs(-15) . "<br>";          // 15 (absolūtā vērtība)
echo round(3.7) . "<br>";        // 4 (noapaļošana)
echo ceil(3.2) . "<br>";         // 4 (uz augšu)
echo floor(3.9) . "<br>";        // 3 (uz leju)
echo sqrt(16) . "<br>";          // 4 (kvadrātsakne)
echo pow(2, 10) . "<br>";        // 1024 (kāpināšana)
echo max(3, 7, 1, 9, 2) . "<br>"; // 9 (lielākais)
echo min(3, 7, 1, 9, 2) . "<br>"; // 1 (mazākais)
echo rand(1, 100) . "<br>";       // Nejaušs skaitlis 1-100
echo number_format(1234567.891, 2, ",", ".") . "<br>"; // 1.234.567,89
?>

Piešķiršanas operatori

Teksts
<?php
$x = 10;

$x += 5;   echo $x . "<br>"; // 15 (x = x + 5)
$x -= 3;   echo $x . "<br>"; // 12 (x = x - 3)
$x *= 2;   echo $x . "<br>"; // 24 (x = x * 2)
$x /= 4;   echo $x . "<br>"; // 6  (x = x / 4)
$x %= 4;   echo $x . "<br>"; // 2  (x = x % 4)
$x **= 3;  echo $x . "<br>"; // 8  (x = x ** 3)

// Virknes pievienošana
$teksts = "Sveiki";
$teksts .= ", pasaule!";
echo $teksts . "<br>"; // Sveiki, pasaule!

// Inkrement/dekrement
$n = 5;
echo $n++ . "<br>"; // 5 (vispirms izvada, tad palielina)
echo $n . "<br>";   // 6
echo ++$n . "<br>"; // 7 (vispirms palielina, tad izvada)
echo $n-- . "<br>"; // 7 (vispirms izvada, tad samazina)
echo $n . "<br>";   // 6
?>

Salīdzināšanas operatori

Salīdzināšanas operatori atgriež true vai false.

OperatorsNosaukumsPiemērsRezultāts
==Vienāds (vērtība)5 == "5"true
===Identisks (vērtība + tips)5 === "5"false
!=Nevienāds5 != 3true
!==Nav identisks5 !== "5"true
<Mazāks par3 < 5true
>Lielāks par5 > 3true
<=Mazāks vai vienāds5 <= 5true
>=Lielāks vai vienāds3 >= 5false
<=>Trīsvirzienu ("kosmosa kuģis")3 <=> 5-1
❌ Bieža kļūda: == vs ===

Vienmēr izmanto === (stingro salīdzinājumu), ja vien tieši neprecizēti tipu konversija. == var novest pie negaidītiem rezultātiem – piemēram, 0 == false ir true.

Teksts
<?php
// == vs === - SVARĪGA atšķirība!
var_dump(5 == "5");    // bool(true)  - tikai vērtības salīdzinājums
var_dump(5 === "5");   // bool(false) - arī tips jābūt vienādam
var_dump(5 === 5);     // bool(true)
var_dump(0 == false);  // bool(true)  - uzmanīties!
var_dump(0 === false); // bool(false)
var_dump("" == false); // bool(true)  - uzmanīties!

// <=> (Spaceship operators) - PHP 7+
// Atgriež: -1 ja kreisais < labais
//           0 ja vienādi
//           1 ja kreisais > labais
echo (3 <=> 5) . "<br>";  // -1
echo (5 <=> 5) . "<br>";  // 0
echo (7 <=> 5) . "<br>";  // 1
?>

Loģiskie operatori

OperatorsNosaukumsAprakstsPiemērs
&& vai andUN (AND)Patiess, ja abi patiesitrue && true
|| vai orVAI (OR)Patiess, ja vismaz viens patiessfalse || true
! vai notNĒ (NOT)Apvērš vērtību!false
xorXORPatiess, ja tieši viens patiesstrue xor false
Teksts
<?php
$vecums = 20;
$pirmais = true;

// AND - abi nosacījumi jābūt patiesi
if ($vecums >= 18 && $pirmais) {
    echo "Pilngadīgs, pirmreizējs!<br>";
}

// OR - vismaz vienam jābūt patiesam
if ($vecums < 18 || $pirmais) {
    echo "Vai nu nepilngadīgs, vai pirmreizējs<br>";
}

// NOT - apvērš
echo var_export(!true, true) . "<br>";   // false
echo var_export(!false, true) . "<br>";  // true

// Īsā pieraksta izvērtēšana (Short-circuit evaluation)
// && apstājas pie pirmā "false"
// || apstājas pie pirmā "true"

$lietotājs = null;
// Drošs veids kā piekļūt objektam bez kļūdas
$vards = $lietotājs && $lietotājs->vards ? $lietotājs->vards : "Anonīms";

// Elvis operators (?:) - saīsinātais ternārais
$nosaukums = $lietotājs ?: "Anonīms"; // Ja $lietotājs ir "falsy", izmanto "Anonīms"

// Null coalescing operators (??) - PHP 7+
$vards = $lietotājs ?? "Anonīms"; // Ja $lietotājs ir null, izmanto "Anonīms"
echo $vards . "<br>"; // Anonīms
?>

Virkņu operatori

Teksts
<?php
// Savienošanas operators (concatenation)
$a = "Sveiki";
$b = ", pasaule!";
$c = $a . $b;
echo $c . "<br>"; // Sveiki, pasaule!

// Savienošana un piešķiršana
$teksts = "PHP";
$teksts .= " ir lielisks!";
echo $teksts . "<br>"; // PHP ir lielisks!
?>

Ternārais operators

Ternārais operators ir īss veids, kā rakstīt if/else vienas rindas formā.

🎓 Ko mācīties tālāk?

Nākamajā sadaļā uzzināsiet par virkņu (string) apstrādes funkcijām PHP.

Teksts
<?php
$vecums = 20;

// Parastais if/else
if ($vecums >= 18) {
    $statuss = "Pilngadīgs";
} else {
    $statuss = "Nepilngadīgs";
}

// Ternārais operators (ekvivalents augstākajam)
$statuss = ($vecums >= 18) ? "Pilngadīgs" : "Nepilngadīgs";
echo $statuss . "<br>"; // Pilngadīgs

// Null coalescing (??) - ieteicamāks null pārbaudei
$ievade = $_GET["vards"] ?? "Anonīms";
echo "Sveicināts, $ievade!<br>"; // Sveicināts, Anonīms!

// Null coalescing piešķiršana (??=) - PHP 7.4+
$opcija = null;
$opcija ??= "Noklusējuma vērtība";
echo $opcija . "<br>"; // Noklusējuma vērtība

// Ligzdotas ternārās - NEIETEICAMS (grūti lasīt!)
// Labāk izmantot if/elseif/else
$skaitlis = 5;
$tips = $skaitlis > 0 ? "pozitīvs" : ($skaitlis < 0 ? "negatīvs" : "nulle");
echo $tips . "<br>"; // pozitīvs
?>