Məzmuna keç
Educora
Başlanğıc15 dəq2 / 10

Dəyişənlər, tiplər və sətirlər

Dəyişənlər yarat, PHP-nin əsas tiplərini var_dump ilə yoxla, sətirlərə dəyişənləri yerləşdir, heredoc yaz və faydalı sətir funksiyalarından istifadə et.

Özünü yoxla
Bu dərsdə öyrənəcəksən
  • 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, sprintf və number_format kimi 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
<?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";
Gözlənilən nəticə
string(5) "Aysel"
int(15)
float(1.62)
bool(true)
NULL
integer / float
TipNümunəNə saxlayır
int15, -3, 2026tam ədədlər
float1.62, 0.5, 3e2kəsr ədədlər (onluq ayırıcı kodda həmişə nöqtədir)
string"Aysel", 'PHP'mətn
booltrue, falseməntiqi qiymət: doğru və ya yalan
nullnull«qiymət yoxdur»
array[5, 4, 5]qiymətlər toplusu (4-cü dərsdə)
PHP-nin skalyar tipləri, null və massiv

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
<?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";
Gözlənilən nəticə
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
<?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;
Gözlənilən nəticə
Dear Murad,
welcome to the PHP course!
  Lesson 1 starts today.
Variables like $name stay as they are.

Faydalı sətir funksiyaları

PHP
<?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";
Gözlənilən nəticə
19
LEARNING PHP IS FUN
Learning PHP is easy
Learning
bool(true)
Baku
12.50 AZN
1,234,567.89
  • trim sə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: %.2f kəsr ədədi vergüldən sonra iki rəqəmlə, %d tam ədədi, %s sə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, null və array; var_dump tipi 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: strlen baytları sayır.

Özünü yoxla

10 sual. Hər düzgün cavab XP qazandırır.

1 / 10
var_dump(7.0); nə çap edir?