Ko’rsatgich tipli o’zgaruvchilar RNR tilida ko’rsatgich tushunchasi yo’q bo’lsada boshqa o’zgaruvchilarga ko’rsatgich yaratish mumkin. Ko’rsatgichni 2 ta turi bor: qat`iy va simvolik. Qat`my ko’rsatgichlar RNR 4 da paydo bo’ldi. (3 versiyasida faqat simvolli ko’rsatgichlar mavjud edi.
Qat`iy ko’rsatgichlar Qat`iy ko’rsatgich oddiy o’zgaruvchi bo’lib, boshqa o’zgaruvchini sinonimi xisoblanadi. Ko’p darajali ko’rsatgichlar qo’llab quvvatlanmaydi. SHuning uchun qat`iy ko’rsatgichlarga oddiy sinonim sifatidagina qarash mumkin. Qat`iy ko’rsatgich yaratish uchun & (ampersand) operatoridan foydalaniladi. Masalan:
$a=10;
$b = &$a; // endi $b — o’zgaruvchisi $a bilan bir xil
$b=0; //aslida $a=0
echo "b=$b, a=$a"; // "b=0, a=0" yozuvini chiqaradi
Faqat o’zgaruvchini emas, shuningdek massiv elementini xam ko’rsatish mumkin (bu bilan qat`iy ko’rsatgich simvolli ko’rsatgichdan ajralib turadi). Masalan:
$A=array('a' => 'aaa', 'b' => 'bbb');
$b=&$A['b'];//endi $b — massivni'b'indeksli elementi bilan bir xil
$b=0; //aslida $A['b']=0;
echo $A['b'] //ekranda 0 chiqadi
Xususan, navbatdagi misoldagi kabi yaratilayotgan simvolik ko’rsatgich ko’rsatuvchi massiv elementi mavjud bo’lmasligi xam mumkin:
$A=arrau('a' => 'aaa', 'b' => 'bbb');
$b=&$A['s']; //endi $b — massivni ‘c’ indeksli elementi bilan bir xil
echo "'s' indeksli element:(".$A['s'].")";
Ushbu dastur bajarilishi natijasida $b ko’rsatgichiga qiymat o’zlashtirilmagan bo’lsada, $A massivida ‘c’ kalitli element yaratiladi va uni qiymati bo’sh satrga teng bo’ladi (buni echo operatori ishi natijasidan bilib olish mumkin). YA`ni qat`iy ko’rsatgich mavjud bo’lmagan ob`ektni ko’rsatishi mumkin emas va agar bunga xarakat qilinsa ko’rsatiluvchi ob`ekt yaratiladi.
.
Qat`iy ko’rsatgich – u ko’rsatayotgan ob`ektni absolyut aniq sinonimi emas. CHunki qat`iy ko’rsatgichlarga nisbatan qo’llaniladigan unset() operatori ko’rsatilayotgan ob`ektni o’chirmaydi, balki ko’rsatgich va ob`ekt o’rtasidagi bog`liqlikni bekor qiladi.
Demak, qat`iy ko’rsatgichlar va ko’rsatilayotgan o’zgaruvchilar (ob`ektlar) umuman olganda bir xil imkonga ega, biroq ulardan birini qiymati o’zgartirilsa bu ikkinchida xam o’z aksini topadi. Unset () operatori ob`ekt va ko’rsatgich orasidagi aloqani uzadi.
Qat`iy ko’rsatgichlardan funktsiyalarga parametrni berishda va funktsiya qaytaradigan qiymatni o’zlashtirishda foydalanish maqsadga muvofiq. Bu qanday amalga oshirilishini PHP da funktsiyalar yaratishni o’rganishda ko’rib chiqamiz.