Codecourse

Verilənlərin tipi

Redaktə edilib:

PHP proqramlaşdırma dilində 10 sadə tip mövcuddur.

Tam ədədlər (Integer)

Tam ədədlər 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ə ə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);                     
  echo '<br><br>';
  $large_number = 9223372036854775808;
  var_dump($large_number); 
?>

Nəticə:

int(9223372036854775807)

float(9.2233720368548E+18)

Tam ədədin maksimal qiyməti əməliyyat sisteminin arxitekturasından (32 və ya 64 bit) asılıdır. 32 bitlik əməliyyat sistemindэ tam ədəd -2 147 483 648-dən 2 147 483 648-dək aralıqda olan qiymət ala bilər. 64 bitlik əməliyyat sistemində bu göstərici -9 223 372 036 854 775 807-dən 9 223 372 036 854 775 808-dək aralıqda olan qiymətdir.

Həqiqi ədədlər

Həqiqi ədədlər (həmçinin "float", "double" və ya "real") aşağıdakı sintaksislə təyin edilə bilər:

<?php
  $a = 1.234; 
  $b = 1.2e3; 
  $c = 7E-10;
?>

Məntiqi tip (Boolean)

Ən sadə verilənlər tipidir. Dəyişən ya TRUE (doğru), ya da FALSE (yalan) qiymətini ala bilər. TRUE və ya FALSE konstantları registrdən asılı deyil.

<?php
  $bool = true; // bool dəyişəninə true qiymətini mənimsədirik
?>

Məntipi tip əsasən şərt ifadələrində istifadə edilir.

Sətirlər

Sətir (string tipi) hər hansı simvollar ardıcılığıdır. PHP-də daxili Unicode dəstəyi yoxdur.

Tək dırnaq işarəsi

Sətir yaratmağın ən sadə yolu onu tək dırnaq işarəsi arasına almaqdır.

Tək dırnaq işarəsi arasında yazılmış sətirdəki dəyişənlər və idarəedici simvollar emal edilmir, yəni olduğu kimi görsənir. İdarəedici simvollarla bağlı 2 istisna mövcuddur:

<?php
echo 'Adi sətir';

echo '<br>';

// Con demişdi: "I\'ll be back"
echo 'Con demişdi: "I\'ll be back"';

echo '<br>';

// \n idarəedici simvolu tək dırnaq işarəsi arasında yazılmış sətirdə emal edilmir, yəni olduğu kimi görsənəcək
echo '\n idarəedici simvolu tək dırnaq işarəsi arasında yazılmış sətirdə emal edilmir, yəni olduğu kimi görsənəcək';

echo '<br>';

// $number kitab
$number = 10;
echo '$number kitab'; 
?>

Cüt dırnaq işarəsi

Sətir cüt dırnaq dırnaq işarəsi arasında yazıldıqda PHP interpretatoru aşağıdakı idarəedici simvolları tanıyır:

İdarəedici simvollar
İdarəedici simvol Təsvir
\n yeni sətri ifadə edir
\r karetkanın geriyə qayıtması işarəsi
\t tabulyasiya simvolunu ifadə edir
\$ $ (dollar) simvolunu ifadə edir
\" Cüt dırnaq işarəsi
\\ əks əyri xətt işarəsini ifadə edir

Lakin cüt dırnaq işarəsi arasında yazılmış sətrin ən vacib xüsusiyyəti dəyişənlərin emal edilməsidir. Məsələn:

<?php
$str = 'Salam';
echo "$str, dünya!";
?>

Nəticə:

Salam, dünya!

Yuxarıdakı nümunədə cüt dırnaq işarəsi arasında yazılmış sətirdə $str dəyişəni emal edilir, yəni qiyməti ekrana çıxarılır.

Gəlin, başqa bir nümunəyə baxaq:

<?php
error_reporting(E_ALL);

$str = 'Sala';
echo "$strm, dünya!";
?>

Nəticə:

Notice: Undefined variable: strm in D:\OSPanel\domains\mysite.local\test.php on line 5
, dünya!

Bu dəfə ekrana Salam, dünya sətri çıxarılmayacaq, çünki $str$strm dəyişən adları PHP interpretatoru üçün fərqlidir. $strm dəyişəni təyin edilməyib. Bu problemi həll etmək üçün dəyişənin adını fiqurlu mötərizəyə almaq lazımdır:

<?php
$str = 'Sala';
echo "{$str}m, dünya!";
?>

Nəticə:

Salam, dünya!

Heredoc sintaksis

Sətir yaratmağın üçüncü üsulu heredoc <<< sintaksisindən istifadəyə əsaslanır. Bu sintaksis cüt dırnaq işarələri arasında yazılmış sətir kimi işləyir (yəni dəyişənlər emal olunur, idarəedici simvollardan istifadə etmək mümkündür) və böyük həcmli mətnin ekrana çıxarılması üçün istifadə edilir:

<?php
$name = "Bill Qeyts";
$age = 64;
$corp = 'Microsoft';

echo <<<LABEL
$name 1955-ci ildə ABŞ-da anadan olub. \n $age yaşı var.
$corp korporasiyasının yaradıcısıdır.<br> "Forbes" jurnalının versiyasına görə, 1996-cı ildən 2007-ci ilədək planetin<br> ən zəngin insanı olub. LABEL; ?>

Nəticə:

Bill Qeyts 1955-ci ildə ABŞ-da anadan olub. 64 yaşı var. Microsoft korporasiyasının yaradıcısıdır.
"Forbes" jurnalının versiyasına görə, 1996-cı ildən 2007-ci ilədək planetin
ən zəngin insanı olub.

<<< operatorundan sonra identifikatorun adı (LABEL) yazılmalı, sonra yeni sətrdən mətn daxil edilməlidir. Sonda bağlanan identifikator və nöqtəli vergül yazılır. İdentifikatorun adı hərf-rəqəm simvolları və aşağıdan xətt simvolundan ibarət ola bilər və ilk simvol rəqəmlə başlamamalıdır. Bağlanan identifikatordan sonra və ondan əvvəl heç bir boşluq simvolu olmamalıdır.

Nowdoc

Nowdoc demək olar ki heredoc sintaksisi kimi işləyir, lakin identifikatorun adı tək dırnaq işarəsi arasında yazılır və bu sintaksis daxilindəki dəyişənlər emal edilmir, olduğu kimi görsənir.

<?php
$name = "Bill Qeyts";
$age = 64;
$corp = 'Microsoft';

echo <<<'LABEL'
$name 1955-ci ildə ABŞ-da anadan olub. \n $age yaşı var.
$corp korporasiyasının yaradıcısıdır.<br> "Forbes" jurnalının versiyasına görə, 1996-cı ildən 2007-ci ilədək planetin<br> ən zəngin insanı olub. LABEL; ?>

Nəticə:

$name 1955-ci ildə ABŞ-da anadan olub. \n $age yaşı var. $corp korporasiyasının yaradıcısıdır.
"Forbes" jurnalının versiyasına görə, 1996-cı ildən 2007-ci ilədək planetin
ən zəngin insanı olub.

Massivlər

Adi dəyişənlərdən fərqli olaraq massivlər çoxlu elementlərin saxlanılması üçün nəzərdə tutulmuş xüsusi dəyişənlərdir. Massivlər haqqında burada ətraflı oxuya bilərsiniz.

NULL (xüsusi tip)

NULL xüsusi tipi qiyməti olmayan dəyişəni ifadə edir. Dəyişən aşağıdakı hallarda null hesab edilir:

Dəyişənin tipinin müəyyənləşdirilməsi

Gettype funksiyası dəyişənin tipini müəyyənləşdirməyə imkan verən universal funksiyadır. Sintaksisi aşağıdakı kimidir:

 gettype ( mixed $var ) : string

Funksiya $var dəyişəninin tipini geri qaytarır. Geri qaytarılan sətir aşağıdakı qiymətləri ala bilər: "boolean", "integer", "double", "string", "array", "object", "resource", "resource (closed)", "NULL""unknown type"

<?php
$number = 10;
echo gettype($number).'<br>'; // integer

$float = 10.2;
echo gettype($float).'<br>'; // double

$str = 'PHP';
echo gettype($str).'<br>'; // string

$bool = false;
echo gettype($bool).'<br>'; // boolean

$arr = [];
echo gettype($arr).'<br>'; // array

unset($arr);
echo gettype($arr).'<br>'; // NULL
?>

Nəticə:

integer
double
string
boolean
array
NULL
121 baxış

Şərhlər: