PHP-те сілтемелер
PHP-те бір айнымалының мәнін басқа айнымалыға тағайындауға болады:
<?php
$num1 = 1;
$num2 = $num1; // тағайындаймыз
echo $num1; // 1
echo $num2; // 1
?>
Мұндай тағайындау кезінде жаңа айнымалыға бірінші айнымалының мәнінің көшірмесі жазылады. Бұл айнымалылардың бір-бірімен ешқандай байланысы жоқ және оларды өзара тәуелсіз өзгертуге болатынын білдіреді. Код мысалын қараңыз:
<?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;
?>