Вовед
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Вовед
Референца за `language.types.intro.php` со подобрена типографија и навигација.
Вовед
Секој израз во PHP има еден од следниве вградени типови во зависност од неговата вредност:
PHP е динамички типизиран јазик, што значи дека по дифолт нема потреба да се специфицира типот на променлива, бидејќи тоа ќе се одреди во време на извршување. Сепак, можно е статички да се типизираат некои аспекти на јазикот преку употреба на декларации на типови. Различни типови што се поддржани од типолошкиот систем на PHP може да се најдат на типолошки систем page.
Типовите го ограничуваат видот на операциите што можат да се извршат на нив. Сепак, ако израз/променлива се користи во операција што нејзиниот тип не ја поддржува, PHP ќе се обиде да го префрли типот вредноста во тип што ја поддржува операцијата. Овој процес зависи од контекстот во кој се користи вредноста. За повеќе информации, видете го делот за Префрлање на типови.
Табелите за споредба на типови може да биде корисно, бидејќи се присутни разни примери за споредба помеѓу вредности од различни типови.
Забелешка: Можно е да се присили израз да се процени на одреден тип со користење на префрлање на типот. Променлива исто така може да се префрли во место со користење на settype() функција на неа.
За да ја проверите вредноста и типот на
expression, користете го var_dump() функција. За да го добиете типот на
expression, користете го get_debug_type() функција. Сепак, за да проверите дали израз е од одреден тип користете ги
is_type функции наместо тоа.
Пример #1 Различни типови
<?php
$a_bool = true; // a bool
$a_str = "foo"; // a string
$a_str2 = 'foo'; // a string
$an_int = 12; // an int
echo get_debug_type($a_bool), "\n";
echo get_debug_type($a_str), "\n";
// If this is an integer, increment it by four
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);
// If $a_bool is a string, print it out
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>Излез од горниот пример во PHP 8:
bool string int(16)
Забелешка: Пред PHP 8.0.0, каде што get_debug_type() не е достапен, gettype() може да се користи наместо тоа. Сепак, тој не користи канонски имиња на типови.