PHP

Verilənlərin tipi

Ə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:

iki müxtəlif sətir ifadəsinin hasili

Yuxarıdakı nümunədə $userName1$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: truefalse.

<?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.

0

Şərh yazmaq üçün hesabınıza daxil olun.