PHP
Verilənlərin tipi
- Məntiqi tip
- Tam ədədlər
- Həqiqi ədədlər
- Sətir
- Massivlər
- Obyektlər
- Resurs
- NULL
- Dəyişənin tipinin müəyyənləşdirilməsi
Əvvəlcə php-beginner qovluğunda types.php faylı yaradırıq. Bu dərsdəki bütün nümunələri həmin fayla əlavə edib yoxlaya bilərsiniz.
Ötən dərsdə öyrəndik ki, dəyişənlər yaddaşda saxlanılan məlumatlardır. Bundan başqa, dəyişənə mənimsədilən qiymətin tipi (məsələn, tam ədəd, sətir, məntiqi və sairə) olur:
<?php
error_reporting(-1);
$number = 7;
$greeting = 'Salam';
Yuxarıdakı nümunədə $number
dəyişəninin qiyməti 7, tipi isə tam ədəddir. $greeting
dəyişəninin qiyməti 'Salam', tipi isə sətirdir. Göründüyü kimi tam ədəd tipindən fərqli olaraq sətir tipi dırnaq işarəsi içərisində yazılır.
Riyaziyyat fənnindən bilirik ki, vurma əməliyyatı ədədlər üzərində aparılır. İki müxtəlif sətir ifadəsinin (məsələn, 'Emil' və 'Zaur') hasilini təsəvvür edirsinizmi?
<?php
error_reporting(-1);
$userName1 = 'Emil';
$userName2 = 'Zaur';
echo $userName1 * $userName2;
http://php-beginner/types.php ünvanına daxil oluruq:
Yuxarıdakı nümunədə $userName1
və $userName2
dəyişənlərinə mənimsədilən qiymətlərin ('Emil', 'Zaur') tipi sətirdir. PHP proqramlaşdırma dili sətirlər üzərində vurma əməliyyatı aparmağa imkan vermir, Fatal error tipli xəta göstərilir və skriptin icrası dayanır. Yuxarıdakı nümunədən göründüyü kimi, dəyişəndə saxlanılan qiymətlərin tipi müəyyən məhdudiyyətlər yaradır və bu, proqramı təsadüfi səhvlərdən qorumağa kömək edir.
PHP proqramlaşdırma dilində 10 sadə tip mövcuddur.
Digər proqramlaşdırma dilləri (məsələn, C, C++, Java) ilə müqayisədə PHP-də eyni dəyişənə müxtəlif tipə aid qiymətlər mənimsədilə bilər. Buna görə PHP-də tip dəyişənə deyil, qiymətə aid edilir.
Aşağıdakı koda nəzər salaq:
<?php
$var = 123;
$var = 'string';
$var = 3.14;
Hər sətirdə $var
dəyişəninin qiyməti dəyişir və bu qiymətlərin tipləri fərqlidir. Birinci sətirdə tam ədəd (integer
), ikincidə sətir (string
), üçüncüdə isə həqiqi ədəddir (float
).
Bu, "dinamik tipləşdirmə" adlanır, yəni eyni dəyişənə müxtəlif tipə aid qiymətlər mənimsədilə bilər.
Məntiqi tip (Boolean)
Ən sadə verilənlər tipidir. Bu tip ya true
(doğru), ya da false
(yalan) qiymətlərini ala bilər. Kodda true
, True
, TRUE
kimi yazılış mümkündür. Ancaq PSR-12 standartı kiçik hərflərdən istifadəni tövsiyə edir: true
və false
.
<?php
$bool = true; // bool dəyişəninə true qiymətini mənimsədirik
Məntipi tip tez-tez müqayisə və dövr operatorları ilə birgə istifadə edilir.
Tam ədədlər
Tam ədədlər (int
tipi) proqramlaşdırmada geniş yayılıb, çünki tətbiqi məsələlərin əksəriyyəti riyazi xarakter daşıyır, həm də bu, ən sürətli verilənlər tipidir.
Tam ədədlər onluq, onaltılıq, səkkizlik və ya ikilik say sistemində göstərilə bilər:
<?php
$a = 1234; // onluq ədəd
$a = -123; // mənfi ədəd
$a = 0123; // səkkizlik ədəd (onluq say sistemində 83 ədədinin ekvivalentidir)
$a = 0x1A; // onaltılıq ədəd (onluq say sistemində 26 ədədinin ekvivalentidir)
$a = 0b11111111; // ikilik ədəd (onluq say sistemində 255 ədədinin ekvivalentidir)
Digər proqramlaşdırma dillərindən fərqli olaraq PHP-də daşma (overflow - hesab əməliyyatı nəticəsində ədədlərin təsvir olunma hüdudlarından kənara çıxması) olmur. İnterpretator ədədin integer
diapazonundan kənara çıxmasını aşkar edən kimi onu avtomatik float
tipinə çevirir.
<?php
$large_number = 9223372036854775807;
var_dump($large_number); // int(9223372036854775807)
$large_number = 9223372036854775808;
var_dump($large_number); // float(9.2233720368548E+18)
Həqiqi ədədlər
Həqiqi ədədlər (float
, double
və ya real
) aşağıdakı sintaksislə təyin edilə bilər:
<?php
$a = 1.234;
$b = 1.2e3;
$c = 7E-10;
Sətir
PHP-də sətir (string
tipi) baytlar ardıcıllığıdır. Sətrin uzunluğu 2 QB-dan çox ola bilməz.
Sətir aşağıdakı 4 müxtəlif üsulla təyin edilə bilər:
- tək dırnaq işarəsi
- qoşa dırnaq işarəsi
- heredoc-sintaksis
- nowdoc-sintaksis
Tək dırnaq işarəsi
Tək dırnaq işarəsi içərisində yazılmış sətirdə (məsələn, 'string') dəyişənlər və idarəedici simvollar yazıldığı kimi görsənir. Lakin idarəedici simvollarla bağlı aşağıdakı 2 istisna mövcuddur:
\'
PHP interpretatoru tərəfindən dırnaq işarəsi kimi oxunur\\
əks əyri xətt işarəsi kimi oxunur
<?php
error_reporting(-1);
// Ekranda Bu, adi sətirdir çap ediləcək
echo 'Bu, adi sətirdir';
echo '<br>';
// Ekranda John said: "I\'ll be back" çap ediləcək
echo 'John said: "I\'ll be back"';
echo '<br>';
// Ekranda $number kitab çap ediləcək
$number = 10;
echo '$number kitab';
Qoşa dırnaq işarəsi
PHP interpretatoru qoşa dırnaq işarəsi içərisində yazılmış sətirdə aşağıdakı idarəedici simvolları oxuyur:
\n
- yeni sətrə keçid\r
- karetkanın geriyə qayıtması\t
- horizontal tabulyasiya\\
- əks əyri xətt\$
- dollar işarəsi
Qoşa dırnaq işarəsi içərisində yazılmış sətrin ən vacib özəlliyi dəyişənin qiymətinin ekrana çıxarılmasıdır:
<?php
error_reporting(-1);
$greeting = 'Salam';
echo "$greeting, dünya!";
Nəticə:
Salam, dünya!
PHP interpretatoru tək dırnaq işarəsindən fərqli olaraq qoşa dırnaq işarəsi içərisində yazılmış sətirdə $greeting
dəyişəninin qiymətini oxuyur və ekranda göstərir.
Massivlər
Dəyişənlərdən fərqli olaraq massivlər çoxlu elementlərin saxlanılması üçün nəzərdə tutulmuş konteynerdir. Bu dərsdə massivlər haqda ətraflı oxuya bilərsiniz.
Obyektlər
Proqramlaşdırma sahəsində obyekt hər hansı bir predmet haqqında məlumatları və həmin predmet üzərində əməliyyatları özündə birləşdirən strukturu ifadə edir.
Resurs
Resource
- bu, kənar resursa bağlantını özündə saxlayan xüsusi dəyişəndir. Resurslar fayllar, verilənlər bazası, dinamik yaradılan şəkillərlə işlədikdə istifadə edilir.
NULL
null
xüsusi tipi qiyməti olmayan dəyişəni ifadə edir. Dəyişən aşağıdakı hallarda null
hesab edilir:
- dəyişənə
null
konstantı mənimsədildikdə - dəyişən
unset()
funksiyası vasitəsilə silindikdə
Dəyişənin tipinin müəyyənləşdirilməsi
Dəyişənə mənimsədilmiş qiymətin tipini öyrənmək üçün var_dump()
funksiyasından istifadə edin. Bu funksiya həm dəyişənin qiymətini, həm də onun tipini ekranda göstərir:
<?php
error_reporting(-1);
$fullname = 'Emil Hüseynov';
$age = 35;
$city = null;
var_dump($fullname, $age, $city);
Nəticə:
D:\OpenServer\domains\php-beginner\types.php:8:string 'Emil Hüseynov' (length=14)
D:\OpenServer\domains\php-beginner\types.php:8:int 35
D:\OpenServer\domains\php-beginner\types.php:8:null
gettype() funksiyası
gettype()
funksiyası dəyişənin tipini geri qaytarır:
<?php
error_reporting(-1);
$number = 10;
$float = 10.2;
$string = 'PHP';
$bool = false;
$array = [1, 2, 3];
$x = null;
echo gettype($number) . '<br>'; // integer
echo gettype($float) . '<br>'; // double
echo gettype($string) . '<br>'; // string
echo gettype($bool) . '<br>'; // boolean
echo gettype($array) . '<br>'; // array
echo gettype($x) . '<br>'; // NULL
Nəticə:
integer
double
string
boolean
array
NULL
Dərsin kodlarını github-dan köçürə bilərsiniz.
Şərh yazmaq üçün hesabınıza daxil olun.