PHP හි සබැඳි

PHP හිදී, ඔබට විචල්යයක අගය තවත් විචල්යයකට නිර්දේශ කළ හැකිය:

php<?php
  $num1 = 1;
  $num2 = $num1; // නිර්දේශ කරමු
  
  echo $num1; // 1
  echo $num2; // 1
?>

මෙවැනි නිර්දේශයකදී, පළමු විචල්යයේ අගයෙහි පිටපතක් නව විචල්යයට ලියනු ලැබේ. මෙයින් අදහස් කරන්නේ, විචල්යයන් එකිනෙකට කිසිදු ආකාරයකින් සම්බන්ධ නොවන අතර ඒවා ස්වාධීනව වෙනස් කළ හැකි බවයි. කේත උදාහරණය දෙස බලන්න:

php<?php
  $num1 = 1;
  $num2 = $num1;
  $num2 = 2;
  
  echo $num1; // 1 - වෙනස් වී නැත
?>

කෙසේ වෙතත්, විචල්යයේ අගය පිටපත් නොකර, ඒ වෙනුවට ඊට සබැඳියක් පිටපත් කිරීමට හැකිය. මෙම අවස්ථාවේදී, එක් විචල්යයක අගය වෙනස් කිරීමේදී, අනෙක් විචල්යයේ අගයද වෙනස් වනු ඇත.

සබැඳියක් ලෙස අගය සම්ප්රේෂණය කිරීම සඳහා, විචල්යයේ නමට පෙර ඇම්පර්සෑන්ඩ් ලකුණක් ( & ) තැබිය යුතුය:

php<?php
  $num1 = 1;
  $num2 = &$num1; // සබැඳිය ලෙස සම්ප්රේෂණය කරමු
?>

දැන්, පළමු විචල්යය වෙනස් කිරීම දෙවන විචල්යයද වෙනස් කරනු ඇත:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num2 = 2;
  
  echo $num1; // 2 - වෙනස් විය
?>

ඒ හා සමානව, අපි පළමු විචල්යය වෙනස් කළහොත්, දෙවන විචල්යයද වෙනස් වනු ඇත:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num1 = 2;
  
  echo $num2; // 2
?>
Задание 1

පහත දක්වා ඇති කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය කුමක්දැයි පැහැදිලි කරන්න:

php<?php
  $num1 = 1;
  $num2 = $num1;
  $num2 = 2;
  
  echo $num1;
  echo $num2;
?>
Задание 2

පහත දක්වා ඇති කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය කුමක්දැයි පැහැදිලි කරන්න:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num2++;
  
  echo $num1;
  echo $num2;
?>
Задание 3

පහත දක්වා ඇති කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය කුමක්දැයි පැහැදිලි කරන්න:

php<?php
  $num1 = 1;
  $num2 = $num1;
  
  $num1++;
  $num2++;
  
  echo $num1;
  echo $num2;
?>
Задание 4

පහත දක්වා ඇති කේතය ක්‍රියාත්මක කිරීමේ ප්‍රතිඵලය කුමක්දැයි පැහැදිලි කරන්න:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  
  $num1++;
  $num2++;
  
  echo $num1;
  echo $num2;
?>