PHP'de Referanslar

PHP'de bir değişkenin değeri başka bir değişkene atanabilir:

php<?php
  $num1 = 1;
  $num2 = $num1; // atıyoruz
  
  echo $num1; // 1
  echo $num2; // 1
?>

Böyle bir atamada, yeni değişkene ilk değişkenin değerinin bir kopyası kaydedilir. Bu, değişkenlerin birbirleriyle hiçbir bağlantısı olmadığı ve bağımsız olarak değiştirilebilecekleri anlamına gelir. Kod örneğine bakın:

php<?php
  $num1 = 1;
  $num2 = $num1;
  $num2 = 2;
  
  echo $num1; // 1 - değişmedi
?>

Ancak, değişkenin değeri değil, değere bir referans kopyalanacak şekilde ayarlanabilir. Bu durumda, bir değişkenin değeri değiştirildiğinde, diğerinin değeri de değişecektir.

Değeri referans yoluyla iletmek için değişken adından önce bir ve işareti (&) konulmalıdır:

php<?php
  $num1 = 1;
  $num2 = &$num1; // referans yoluyla iletiyoruz
?>

Artık ilk değişkendeki bir değişiklik ikincisinde de değişikliğe yol açacaktır:

php<?php
  $num1 = 1;
  $num2 = &$num1;
  $num2 = 2;
  
  echo $num1; // 2 - değişti
?>

Benzer şekilde, ilk değişkeni değiştirirsek, ikincisi de değişecektir:

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

Aşağıdaki kodun çalıştırılması sonucunda ne olacağını açıklayın:

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

Aşağıdaki kodun çalıştırılması sonucunda ne olacağını açıklayın:

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

Aşağıdaki kodun çalıştırılması sonucunda ne olacağını açıklayın:

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

Aşağıdaki kodun çalıştırılması sonucunda ne olacağını açıklayın:

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