PHP-də dəyişənlər necə ötürülür?
sobes.tech Süni İntellekt
AI-dan cavab
PHP-də dəyişənlər standart olaraq dəyər ilə ötürülür. Bu, bir dəyişənin dəyərinin digərinə təyin olunması və ya dəyişənin funksiyaya ötürülməsi zamanı dəyərin nüsxəsinin yaradılması deməkdir. Bu nüsxədəki dəyişikliklər orijinal dəyişəni təsir etmir.
Ancaq, dəyişənlər referans vasitəsilə də ötürülə bilər. Bu halda, dəyərin nüsxəsi yerinə, orijinal dəyişənlə eyni yaddaş sahəsinə işarə edən göstərici ötürülür. Referans vasitəsilə edilən dəyişikliklər birbaşa orijinal dəyişəni təsir edir.
Referans ilə ötürmə aşağıdakı hallarda istifadə olunur:
-
Referans ilə təyin etmə:
=&operatoru ilə təyin etmə.// Referans ilə təyin etmə $a = 10; $b =& $a; $b = 20; // $b-ni dəyişdirmək, $a-ni də dəyişdirir // $a indi 20 -
Funktiona parametr kimi referansla ötürmə: Funksiya tərifində parametr adından əvvəl
&əlavə etmək.<?php // Referansla argument qəbul edən funksiya function modifyValue(&$value) { $value *= 2; } $number = 5; modifyValue($number); // $number indi 10 ?> -
Funktionan referansla dəyər qaytarma: Funksiya adından əvvəl
&istifadə etmək.<?php // Referansla dəyər qaytaran funksiya function &getReference() { static $value = 0; $value++; return $value; } $a = &getReference(); $a = 100; // $a-nı dəyişdirmək, funksiyanın içindəki statik dəyişəni də dəyişir $b = &getReference(); // $b indi eyni statik dəyişənə referans edir (bərabər 101) ?>
Bəzi məlumat tiplərinin, məsələn, obyektlərin, həmişə referans vasitəsilə ötürülməsinə diqqət yetirmək lazımdır (daha dəqiq, obyektə referans ötürülür). Bir obyekt başqa bir obyektə təyin olunduqda, hər iki dəyişən eyni obyekt nümunəsinə referans edir.
| Ötürmə üsulu | Necə işləyir | İstifadə |
|---|---|---|
| Dəyər ilə | Dəyərin nüsxəsi yaradılır | Standart davranış, orijinal dəyişən üçün təhlükəsiz |
| Referans ilə | Yaddaş ünvanına göstərici ötürülür | Dəyişikliklər birbaşa orijinal dəyişəni təsir edir |