PHP automātiski nosaka mainīgā datu tipu pēc piešķirtās vērtības. Galvenie datu tipi:

String (virkne)

Teksta virkne — rakstzīmju secība pēdiņās:

<?php
$vards = "Latvija";
$apraksts = 'Skaista valsts';
echo strlen($vards); // 7 (virknes garums)
?>

Integer (vesels skaitlis)

<?php
$vecums = 25;
$negatīvs = -10;
$heksadecimāls = 0xFF; // 255
echo gettype($vecums); // integer
?>

Float (decimālskaitlis)

<?php
$cena = 19.99;
$pi = 3.14159;
echo gettype($cena); // double
?>

Boolean (loģiskais tips)

Var būt tikai true vai false:

<?php
$ir_aktīvs = true;
$ir_dzēsts = false;
?>

Array (masīvs)

Satur vairākas vērtības (sīkāk masīvu sadaļā):

<?php
$krāsas = ["sarkana", "zaļa", "zila"];
$lietotājs = ["vards" => "Jānis", "vecums" => 25];
?>

NULL

Mainīgais bez vērtības:

<?php
$mainīgais = null;
$neeksistē; // arī null, ja nav piešķirta vērtība
?>

Tipu pārbaude

<?php
$x = 42;
echo gettype($x); // integer
echo is_int($x); // 1 (true)
echo is_string($x); // (false, neko neizvada)
var_dump($x); // int(42) — tips un vērtība
?>

Tipu pārveidošana

PHP bieži pārveido tipus automātiski, bet var to darīt arī manuāli:

<?php
$teksts = "42";
$skaitlis = (int) $teksts; // 42 (integer)
$decimāls = (float) "3.14"; // 3.14
$virkne = (string) 100; // "100"
$bool = (bool) 1; // true

// Noderīgas funkcijas
$skaitlis = intval("42abc"); // 42
$decimāls = floatval("3.14"); // 3.14
?>

Konstantes

Konstantes ir mainīgie, kuru vērtību nevar mainīt pēc definēšanas:

<?php
define('LAPAS_NOSAUKUMS', 'Mana mājas lapa');
const MAX_LIETOTĀJI = 100;

echo LAPAS_NOSAUKUMS; // Mana mājas lapa
// Konstantes raksta ar lielajiem burtiem
?>