Հղումները PHP-ում
PHP-ում կարելի է մի փոփոխականի արժեքը վերագրել մյուսին.
<?php
$num1 = 1;
$num2 = $num1; // վերագրում ենք
echo $num1; // 1
echo $num2; // 1
?>
Նման վերագրումով նոր փոփոխականին գրվում է առաջին փոփոխականի արժեքի պատճենը: Սա նշանակում է, որ փոփոխականները ոչ մի կապ չունեն mիմար և դրանք կարելի է անկախ փոփոխել: Նայեք կոդի օրինակին.
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1; // 1 - չի փոխվել
?>
Սակայն, կարելի է անել այնպես, որ պատճենվի ոչ թե փոփոխականի արժեքը, այլ հղում դրա վրա: Այս դեպքում մի փոփոխականի արժեքը փոխելիս կփոխվի նաև մյուսի արժեքը:
Որպեսզի արժեքը փոխանցվի հղումով, անհրաժեշտ է փոփոխականի անվան դիմաց դնել ամպերսանդ.
<?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;
?>