- Dəyişən yaratmaq və PHP-nin əsas tiplərini tanımaq
- Tək və qoşa dırnaqlı sətirləri, interpolyasiyanı və heredoc-u fərqləndirmək
strlen,str_replace,sprintfvənumber_formatkimi funksiyalarla mətni emal etmək
İstənilən saytdakı profil səhifəsini xatırla: ad, yaş, balans, «tələbədir» işarəsi. Proqram bu məlumatları haradasa yadda saxlamalıdır. Bunun üçün dəyişənlərdən istifadə olunur. Veb-proqramlaşdırmada ən çox mətnlə işlədiyimiz üçün bu dərsdə sətirlərə xüsusi diqqət yetirəcəyik.
Dəyişənlər və tiplər
PHP-də dəyişən adı $ işarəsi ilə başlayır, qiymət isə = ilə mənimsədilir. Dəyişəni əvvəlcədən elan etmək və tipini yazmaq lazım deyil: PHP tipi qiymətə görə özü müəyyən edir. Belə dillərə dinamik tipli dillər deyilir. Adlar hərf və ya _ ilə başlamalıdır; adətən $firstName kimi camelCase üslubu seçilir.
<?php
$name = "Aysel";
$age = 15;
$height = 1.62;
$isStudent = true;
$phone = null;
var_dump($name);
var_dump($age);
var_dump($height);
var_dump($isStudent);
var_dump($phone);
echo gettype($age), " / ", get_debug_type($height), "\n";string(5) "Aysel" int(15) float(1.62) bool(true) NULL integer / float
| Tip | Nümunə | Nə saxlayır |
|---|---|---|
int | 15, -3, 2026 | tam ədədlər |
float | 1.62, 0.5, 3e2 | kəsr ədədlər (onluq ayırıcı kodda həmişə nöqtədir) |
string | "Aysel", 'PHP' | mətn |
bool | true, false | məntiqi qiymət: doğru və ya yalan |
null | null | «qiymət yoxdur» |
array | [5, 4, 5] | qiymətlər toplusu (4-cü dərsdə) |
var_dump qiymətin həm tipini, həm də məzmununu göstərir — sazlama (debug) üçün ən faydalı funksiyadır. Sətirlərdə o, uzunluğu da yazır: string(5). gettype köhnə adları (integer, double), PHP 8-də əlavə olunmuş get_debug_type isə müasir adları (int, float) qaytarır. Dəyişməyən qiymətlər üçün sabit yarat: const MAX_SCORE = 100; — sabitin adında $ olmur.
Tək və qoşa dırnaqlar
Tək dırnaqlı sətir mətni olduğu kimi saxlayır: orada nə dəyişənlər, nə də \n kimi xüsusi simvollar işləyir. Qoşa dırnaqlı sətirdə isə dəyişənlər qiymətləri ilə əvəz olunur — buna interpolyasiya deyilir — və \n, \t kimi simvollar işləyir. Sətirləri birləşdirmək üçün nöqtə . operatoru, sona əlavə etmək üçün isə .= istifadə olunur.
<?php
$city = "Ganja";
$year = 2026;
$fruit = "apple";
echo 'Hello from $city\n', "\n";
echo "Hello from $city in $year\n";
echo "Hello from " . $city . "!\n";
echo "I ate two {$fruit}s\n";
$message = "Good";
$message .= " luck";
echo $message, "\n";Hello from $city\n Hello from Ganja in 2026 Hello from Ganja! I ate two apples Good luck
Fiqurlu mötərizələr {$fruit} PHP-yə dəyişən adının harada bitdiyini deyir. Onlarsız "$fruits" yazılışı $fruits adlı başqa, mövcud olmayan dəyişəni axtarardı. Massivin elementini və ya obyektin xassəsini sətrə yerləşdirəndə də {...} işlət: "{$user['name']}".
Heredoc və nowdoc
Çoxsətirli mətn (məktub, e-poçt şablonu, HTML parçası) üçün heredoc rahatdır: <<<TEXT ilə başlayır, eyni adlı işarə ilə bitir və qoşa dırnaq kimi dəyişənləri yerləşdirir. Nowdoc (<<<'TEXT', adı dırnaqda) isə tək dırnaq kimi mətni olduğu kimi saxlayır. PHP 7.3-dən bağlayan işarəni boşluqla sürüşdürmək olar — onda həmin qədər boşluq bütün sətirlərin əvvəlindən silinir.
<?php
$name = "Murad";
$course = "PHP";
$letter = <<<TEXT
Dear $name,
welcome to the {$course} course!
Lesson 1 starts today.
TEXT;
echo $letter, "\n";
echo <<<'RAW'
Variables like $name stay as they are.
RAW;Dear Murad, welcome to the PHP course! Lesson 1 starts today. Variables like $name stay as they are.
Faydalı sətir funksiyaları
<?php
$text = " Learning PHP is fun ";
$clean = trim($text);
echo strlen($clean), "\n";
echo strtoupper($clean), "\n";
echo str_replace("fun", "easy", $clean), "\n";
echo substr($clean, 0, 8), "\n";
var_dump(str_contains($clean, "PHP"));
echo ucfirst("baku"), "\n";
echo sprintf("%.2f AZN", 12.5), "\n";
echo number_format(1234567.891, 2), "\n";19 LEARNING PHP IS FUN Learning PHP is easy Learning bool(true) Baku 12.50 AZN 1,234,567.89
trimsətrin əvvəlindəki və sonundakı boşluqları silir — formadan gələn məlumatı həmişə belə təmizlə.substr($s, 0, 8)0-cı mövqedən başlayaraq 8 simvol götürür;str_contains(PHP 8) alt sətrin olub-olmadığını yoxlayır.sprintfşablon üzrə sətir qurur:%.2fkəsr ədədi vergüldən sonra iki rəqəmlə,%dtam ədədi,%ssətri yerləşdirir.number_formatədədi yuvarlaqlaşdırır və minlikləri ayırır.
Əsas fikirlər
- Dəyişən adı
$ilə başlayır; PHP dinamik tiplidir və tipi qiymətə görə müəyyən edir. - Əsas tiplər:
int,float,string,bool,nullvəarray;var_dumptipi və qiyməti birlikdə göstərir. - Qoşa dırnaqlar dəyişənləri və
\n-i işlədir, tək dırnaqlar mətni olduğu kimi saxlayır; sətirlər.ilə birləşdirilir. - Heredoc çoxsətirli mətnə dəyişənləri yerləşdirir, nowdoc isə mətni dəyişmədən saxlayır.
- Azərbaycan, rus və türk hərfləri olan mətnlərdə
mb_funksiyalarını işlət:strlenbaytları sayır.
Özünü yoxla
10 sual. Hər düzgün cavab XP qazandırır.
var_dump(7.0); nə çap edir?