PHP ရှိ လင့်ခ်များ
PHP တွင် ကိန်းရှင်တစ်ခု၏ တန်ဖိုးကို အခြားတစ်ခုသို့ သတ်မှတ်ပေးနိုင်ပါသည်။
<?php
$num1 = 1;
$num2 = $num1; // သတ်မှတ်ပေးသည်
echo $num1; // 1
echo $num2; // 1
?>
ထိုသို့သတ်မှတ်ပေးခြင်းဖြင့် ပထမကိန်းရှင်၏ တန်ဖိုးကို ကူးယူကာ အသစ်ကိန်းရှင်ထဲသို့ ထည့်သွင်းပေးသည်။ ဆိုလိုသည်မှာ ကိန်းရှင်နှစ်ခုသည် တစ်ခုနှင့်တစ်ခု ဆက်စပ်မှုမရှိဘဲ အချင်းချင်း လွတ်လပ်စွာ ပြောင်းလဲနိုင်သည်ဟု ဆိုလိုပါသည်။ ကုဒ်နမူနာကို ကြည့်ပါ။
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1; // 1 - မပြောင်းလဲပါ
?>
သို့သော် ကိန်းရှင်၏ တန်ဖိုးကို ကူးယူရန် မဟုတ်ဘဲ ၎င်း၏ လင့်ခ်ကို ကူးယူရန် ပြုလုပ်နိုင်သည်။ ဤသို့ဆိုပါက ကိန်းရှင်တစ်ခု၏ တန်ဖိုးကို ပြောင်းလဲလိုက်သည့်အခါ အခြားတစ်ခု၏ တန်ဖိုးလည်း ပြောင်းလဲသွားမည်ဖြစ်သည်။
တန်ဖိုးကို လင့်ခ်အနေဖြင့် လွှဲပြောင်းရန် ကိန်းရှင်အမည်၏ ရှေ့တွင် ampersand (&) ကို ထည့်သွင်းရပါမည်။
<?php
$num1 = 1;
$num2 = &$num1; // လင့်ခ်အနေဖြင့် လွှဲပြောင်းသည်
?>
ယခုတွင် ပထမကိန်းရှင်၏ တန်ဖိုးကို ပြောင်းလဲလိုက်ပါက ဒုတိယကိုလည်း ပြောင်းလဲသွားစေမည်ဖြစ်သည်။
<?php
$num1 = 1;
$num2 = &$num1;
$num2 = 2;
echo $num1; // 2 - ပြောင်းလဲသွားသည်
?>
အလားတူစွာ ကျွန်ုပ်တို့ ပထမကိန်းရှင်ကို ပြောင်းလဲပါက ဒုတိယကိုလည်း ပြောင်းလဲသွားစေမည်ဖြစ်သည်။
<?php
$num1 = 1;
$num2 = &$num1;
$num1 = 2;
echo $num2; // 2
?>
အောက်ပါကုဒ်ကို လုပ်ဆောင်လိုက်ပါက ရလဒ်မည်သို့ရှိမည်ကို ရှင်းပြပါ။
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1;
echo $num2;
?>
အောက်ပါကုဒ်ကို လုပ်ဆောင်လိုက်ပါက ရလဒ်မည်သို့ရှိမည်ကို ရှင်းပြပါ။
<?php
$num1 = 1;
$num2 = &$num1;
$num2++;
echo $num1;
echo $num2;
?>
အောက်ပါကုဒ်ကို လုပ်ဆောင်လိုက်ပါက ရလဒ်မည်သို့ရှိမည်ကို ရှင်းပြပါ။
<?php
$num1 = 1;
$num2 = $num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>
အောက်ပါကုဒ်ကို လုပ်ဆောင်လိုက်ပါက ရလဒ်မည်သို့ရှိမည်ကို ရှင်းပြပါ။
<?php
$num1 = 1;
$num2 = &$num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>