➕ 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.
Aritmētiskie operatori
| Operators | Nosaukums | Piemērs | Rezultāts |
|---|---|---|---|
| + | Saskaitīšana | 5 + 3 | 8 |
| - | Atņemšana | 10 - 4 | 6 |
| * | Reizināšana | 3 * 4 | 12 |
| / | Dalīšana | 15 / 3 | 5 |
| % | Atlikums (modulo) | 10 % 3 | 1 |
| ** | Kāpināšana | 2 ** 8 | 256 |
<?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
<?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.
| Operators | Nosaukums | Piemērs | Rezultāts |
|---|---|---|---|
| == | Vienāds (vērtība) | 5 == "5" | true |
| === | Identisks (vērtība + tips) | 5 === "5" | false |
| != | Nevienāds | 5 != 3 | true |
| !== | Nav identisks | 5 !== "5" | true |
| < | Mazāks par | 3 < 5 | true |
| > | Lielāks par | 5 > 3 | true |
| <= | Mazāks vai vienāds | 5 <= 5 | true |
| >= | Lielāks vai vienāds | 3 >= 5 | false |
| <=> | Trīsvirzienu ("kosmosa kuģis") | 3 <=> 5 | -1 |
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.
<?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
| Operators | Nosaukums | Apraksts | Piemērs |
|---|---|---|---|
| && vai and | UN (AND) | Patiess, ja abi patiesi | true && true |
| || vai or | VAI (OR) | Patiess, ja vismaz viens patiess | false || true |
| ! vai not | NĒ (NOT) | Apvērš vērtību | !false |
| xor | XOR | Patiess, ja tieši viens patiess | true xor false |
<?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
<?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.
<?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
?>