PHP-də dəyişənlər

Digər proqramlaşdırma dillərində olduğu kimi (çox güman ki, tək Forth dili istisna olmaqla) PHP-də də dəyişən (İngilis dilində “variable“) anlayışı var. Əvvəlki mövzularda dəyişənin nə olduğunu çox güman ki, təxmin etmisiniz.

PHP-də proqramlaşdırma zamanı yeni dəyişənlərin elan edilməsində xəsislik etmək qəbul edilməyib. Məsələn, elə əvvəlki sadə misalımızda biz sadəcə bir dəyişəndən – dövr operatorunun sayğacından istifadə edə bilərdik. Ancaq bir neçə dəyişən elan edəndə skript daha oxunaqlı olur, həm də interpretatora yeni identifikator yaratmaq ümumiyyətlə “ucuz” başa gəlir.

Dəyişənlərin adı reqistrə həssasdır. Bu o deməkdir ki, məsələn, $my_variable, $My_variable, $My_Variable$MY_VARIABLE tam fərqli dörd dəyişəndir. Həm də dəyişənlərin adları mütləq $ işarəsi ilə başlamalıdır. Bu, dəyişnləri daha rahat ayırd etmək və “başa düşməkdə” interpretatorun işini sadələşdirir.

PHP-də dəyişənlər sözün əsl mənasında istənilən informasiyanı özündə saxlaya bilən xüsusi obyektlərdir. Əgər proqramda nəsə saxlanılırsa o mütləq hər hansısa dəyişəndə saxlanılır. İstisna hal daxilində yalnız ədəd və yazı, PHP7-dən başlayaraq isə massiv saxlaya bilən sabitlər ola bilər.

PHP-də həmçinin istinad dəyişənlər anlayışı da var. Bu tipin üç növü var: birbaşa, simvolikobyektə istinad. Növbəti mövzulardan birində bu haqda danışılacaq.

Yuxarıda deyildiyi kimi PHP-də dəyişənləri açıq elan etmək, onların tipini əvvəlcədən elan etmək lazım deyil. Bu interpretator tərəfindən avtomatik edilir. Ancaq hərdən, məsələn, yazı tipli dəyişəndə həqiqətən də rəqəm göstərilərsə interpretator səhv edə bilir və buna görə də nadir hallarda bu və ya digər ifadənin hansı tipdə olduğunu aydın göstərmək ehtiyacı yarana bilər.

PHP-də dəyişənlərin birbaşa olaraq bir necə tipi var. İrəli gedərək qeyd edək ki, dəyişənin tipini gettype($variable) funksiyasını çağırmaqla öyrənmək olar. Bu funksiya dəyişənin tipinin yazı formasında adını qaytarır.

Növbəti mövzularda PHP-in başa düşdüyü dəyişənlərin tiplərinə qısa da olsa ayrılıqda baxılıb:

Leave a Reply