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;
?>