Masīvi ir viens no svarīgākajiem datu tipiem PHP — tie ļauj uzglabāt vairākas vērtības vienā mainīgajā. PHP piedāvā gan indeksētos, gan asociatīvos masīvus.
Indeksēti masīvi
Elementi tiek numurēti automātiski, sākot no 0:
<?php
$augļi = ["ābols", "bumbieris", "ķirsis"];
echo $augļi[0]; // ābols
echo $augļi[1]; // bumbieris
echo $augļi[2]; // ķirsis
echo count($augļi); // 3 (elementu skaits)
?>
Asociatīvie masīvi
Elementiem tiek piešķirtas nosauktas atslēgas:
<?php
$lietotājs = [
"vards" => "Jānis",
"uzvards" => "Bērziņš",
"vecums" => 25,
"epasts" => "janis@example.com",
];
echo $lietotājs["vards"]; // Jānis
echo $lietotājs["epasts"]; // janis@example.com
?>
Elementu pievienošana un dzēšana
<?php
$saraksts = ["a", "b"];
$saraksts[] = "c"; // pievieno beigās
array_push($saraksts, "d"); // arī pievieno beigās
array_unshift($saraksts, "z"); // pievieno sākumā
unset($saraksts[0]); // dzēš elementu ar indeksu 0
?>
Masīvu pārskatīšana
<?php
$cenas = ["ābols" => 0.50, "bumbieris" => 0.80];
foreach ($cenas as $nosaukums => $cena) {
echo "$nosaukums maksā €$cena<br>";
}
?>
Daudzlīmeņu masīvi
<?php
$klase = [
["vards" => "Anna", "atzīme" => 9],
["vards" => "Jānis", "atzīme" => 7],
["vards" => "Marta", "atzīme" => 10],
];
echo $klase[0]["vards"]; // Anna
echo $klase[2]["atzīme"]; // 10
foreach ($klase as $students) {
echo "{$students['vards']}: {$students['atzīme']}<br>";
}
?>
Noderīgas masīvu funkcijas
| Funkcija | Apraksts | Piemērs |
|---|---|---|
| count($m) | Elementu skaits | count([1,2,3]) → 3 |
| in_array($v, $m) | Vai vērtība eksistē | in_array("a", $m) |
| array_key_exists($k, $m) | Vai atslēga eksistē | array_key_exists("vards", $m) |
| sort($m) | Sakārto augošā secībā | Maina pašu masīvu |
| rsort($m) | Sakārto dilstošā secībā | Maina pašu masīvu |
| array_merge($a, $b) | Apvieno masīvus | Atgriež jaunu masīvu |
| array_slice($m, 1, 2) | Izgriež daļu | No 1. indeksa, 2 elementus |
| array_map($fn, $m) | Piemēro funkciju katram | Atgriež jaunu masīvu |
| array_filter($m, $fn) | Filtrē elementus | Atgriež atbilstošos |
| implode(", ", $m) | Apvieno virknē | "a, b, c" |
| explode(",", $s) | Sadala masīvā | ["a", "b", "c"] |
Praktisks piemērs
<?php
$skaitļi = [3, 1, 4, 1, 5, 9, 2, 6];
// Filtrēt pāra skaitļus
$pāra = array_filter($skaitļi, fn($n) => $n % 2 === 0);
// [4, 2, 6]
// Dubultot visus
$dubulti = array_map(fn($n) => $n * 2, $skaitļi);
// [6, 2, 8, 2, 10, 18, 4, 12]
// Saskaitīt summu
$summa = array_sum($skaitļi); // 31
?>










