Povezave v PHP
V PHP lahko vrednost ene spremenljivke dodelimo drugi:
<?php
$num1 = 1;
$num2 = $num1; // dodelimo
echo $num1; // 1
echo $num2; // 1
?>
Pri takšni dodelitvi se v novo spremenljivko zapiše kopija vrednosti prve spremenljivke. To pomeni, da spremenljivki nista povezani druga z drugo in ju lahko neodvisno spreminjamo. Poglejte si primer kode:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1; // 1 - se ni spremenilo
?>
Lahko pa naredimo tako, da se ne kopira vrednost spremenljivke, ampak povezava nanjo. V tem primeru bo ob spremembi vrednosti ene spremenljivke, spreminjala tudi vrednost druge.
Za prenos vrednosti po povezavi je treba pred imenom spremenljivke dodati znak &:
<?php
$num1 = 1;
$num2 = &$num1; // prenesemo po povezavi
?>
Zdaj bo sprememba prve spremenljivke povzročila tudi spremembo druge:
<?php
$num1 = 1;
$num2 = &$num1;
$num2 = 2;
echo $num1; // 2 - se je spremenilo
?>
Podobno, če spremenimo prvo spremenljivko, se bo spremenila tudi druga:
<?php
$num1 = 1;
$num2 = &$num1;
$num1 = 2;
echo $num2; // 2
?>
Povejte, kakšen bo rezultat izvajanja kode:
<?php
$num1 = 1;
$num2 = $num1;
$num2 = 2;
echo $num1;
echo $num2;
?>
Povejte, kakšen bo rezultat izvajanja kode:
<?php
$num1 = 1;
$num2 = &$num1;
$num2++;
echo $num1;
echo $num2;
?>
Povejte, kakšen bo rezultat izvajanja kode:
<?php
$num1 = 1;
$num2 = $num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>
Povejte, kakšen bo rezultat izvajanja kode:
<?php
$num1 = 1;
$num2 = &$num1;
$num1++;
$num2++;
echo $num1;
echo $num2;
?>