Povezave v PHP

V PHP lahko vrednost ene spremenljivke dodelimo drugi:

php<?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<?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<?php
  $num1 = 1;
  $num2 = &$num1; // prenesemo po povezavi
?>

Zdaj bo sprememba prve spremenljivke povzročila tudi spremembo druge:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num2 = 2;
  
  echo $num1; // 2 - se je spremenilo
?>

Podobno, če spremenimo prvo spremenljivko, se bo spremenila tudi druga:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num1 = 2;
  
  echo $num2; // 2
?>
Задание 1

Povejte, kakšen bo rezultat izvajanja kode:

php<?php
  $num1 = 1;
  $num2 = $num1;
  $num2 = 2;
  
  echo $num1;
  echo $num2;
?>
Задание 2

Povejte, kakšen bo rezultat izvajanja kode:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num2++;
  
  echo $num1;
  echo $num2;
?>
Задание 3

Povejte, kakšen bo rezultat izvajanja kode:

php<?php
  $num1 = 1;
  $num2 = $num1;
  
  $num1++;
  $num2++;
  
  echo $num1;
  echo $num2;
?>
Задание 4

Povejte, kakšen bo rezultat izvajanja kode:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  
  $num1++;
  $num2++;
  
  echo $num1;
  echo $num2;
?>