Рӯйхатҳо дар 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;
?>