PHP-də dəyişənlər. Integer (tam ədədlər)

Riyaziyyat kursundan məlumadur ki, tam ədədlər dedikdə natural ədədlər, onların əksi və sıfır (0) birlikdə olan çoxluq nəzərdə tutulur. PHP dilində də digər proqramlaşdırma dillərində olduğu kimi Integer anlayışı elə riyaziyyatdakı tam ədəd anlayışı ilə eynidir. Lakin əməliyyat sisteminin neçə bit əsaslı olmasından asılı olaraq onun yuxarı və aşağı sərhədləri müəyyən olunur. 32-bit variantlı ƏS-də tam ədəd -2 147 483 648-dən 2 147 483 647-ə qədər qiymət ala bilər. 64-bit variantlı ƏS-də isə tam ədəd -9 223 372 036 854 775 807-dən  9 223 372 036 854 775 807 kimi qiymət ala bilər. PHP-də tam ədədin maksimal dəyərini əvvəlcədən təyin edilmiş PHP_INT_MAX sabitinə müraciət etməklə ayırd etmək olar.

<?php
  echo PHP_INT_MAX; // 9223372036854775807
?>

PHP7 və ondan sonrakı versiyalarda, Integerin həmçinin ən aşağı sərhəddini göstərən PHP_INT_MIN sabiti də daxil edilmişdir.

Alternativ kimi PHP_INT_SIZE sabitindən istifadə etmək olar. Bu sabitin qiyməti tam ədədlər üçün yaddaşdan neçə bayt ayrıldığını göstərir. 32-bit ƏS-də bu sabit 4 qiymətini alır. 4 baytın hərəsinə 8 bit olduğunu nəzərə alsaq məhz 32 bit edir və bunu da 32 bit əsaslı prosessorlarda emal etmək rahatdır. 64 bit əsaslı versiyalarda PHP-in bu sabitinin qiyməti 8-dir.

Tam ədəd göstərilən diapazondan kənara çıxarsa avtomatik double tipli ədədə çevrilir.

PHP 7 nədir

PHP 7 PHP proqramlaşdırma dilinin əsas versiyalarından biridir və mobil və digər qurğular, o cümlədən paylanmış (cloude) texnologiyalar üçün veb proqramlaşdırma sahəsində inqilab edə biləcək versiya kimi təqdim edilir. Bu versiya PHP-in 2004-cü ildə istifadəyə verilmiş PHP 5 versiyasından sonrakı ən əsas yenilənmiş versiyasıdır.

PHP7-də olan yeniliklərdən aşağıdakıları qeyd etmək olar:

  • yeni <=>?? operatorları
  • proqramda baş verəcək səhvlərin kəsilmələr vasitəsilə emal edilməsi, mövcud Exception klasından başqa PHP-də standart səhfləri emal etməyə imkan verən yeni Error klası daxil edilib.
  • anonim klaslar
  • funksiyaların ötürülən arqument və qaytardığı dəyərlərinin tiplərinin elan edilməsi imkanı
  • UTF-8 simvolların dəstəklənməsi üçün xüsusi u{00FF} sintaksisi
  • massiv-sabitlər
  • ArrayAcces interfeysinə uyğunlaşan obyektlərlə list konstruksiyasına icazə verilir
  • UTF-8 simvolları dəstəkləmək üçün IntlChar klası müəyyən edilib
  • Generator klasına return açar sözü vasitəsilə qaytarılan dəyərini əldə etməyə imkan verən  getReturn() metodu əlavə edilib
  • yield from açar sözləri vasitəsilə generatorların ötürülməsi
  • requlyar Perl-ifadələrlə işləyən preg_ replace_ callback_ array()  funksiyası əlavə edilib
  • yeni random_int() və  random_bytes() funksiyaları
  • sessiyanın parametrlərini session_start() funksiyasının vacib olmayan arqumenti vasitəsilə ötürmək olur

Yeniliklərlə birlikdə köhnəlmiş konstruksiyaların bir hissəsi də PHP-dən ümumiyyətlə ləğv edilib. Onlardan aşağıdakıları göstərmək olar:

  • <?php və  ?> teqləri əvəzinə istifadə edilə bilinən <%%>, həmçinin 
  • requlyar POSIX-ifadələr (eregi-funksiyalar), onların yerinə requlyar Perl-ifadələr istifadə etmək məsləhət görülür
  • mysql modulu, onun əvəzinə obyekt yönümlü mysqli modulu və ya bundan daha çox məsləhət görülən PDO-dan istifadə etmək lazımdır
  • adı klasın adı ilə eyni olan metod formasında PHP 4-ə uyğun konstruktordan istifadə etmək qadağandır