Πίνακες-Αναφορές στην PHP

Στην PHP, σε αντίθεση με άλλες γλώσσες προγραμματισμού, οι πίνακες επίσης αντιγράφονται, αντί να μεταβιβάζονται με αναφορά.

Ας το επιβεβαιώσουμε:

php<?php
  $arr1 = [1, 2, 3, 4, 5];
  $arr2 = $arr1;
  $arr2[0] = '!';
  
  var_dump($arr1); // δεν αλλάζει
?>

Ας αναγκάσουμε τώρα τον πίνακα να μεταβιβαστεί με αναφορά:

php<?php
  $arr1 = [1, 2, 3, 4, 5];
  $arr2 = &$arr1;
  $arr2[0] = '!';
  
  var_dump($arr1); // αλλάζει
?>
Задание 1

Πείτε, ποιο θα είναι το αποτέλεσμα της εκτέλεσης του κώδικα:

php<?php
  $arr1 = [1, 2, 3, 4, 5];
  
  $arr2 = $arr1;
  $arr2[0] = '!';
  
  echo $arr1[0];
  echo $arr2[0];
?>
Задание 2

Πείτε, ποιο θα είναι το αποτέλεσμα της εκτέλεσης του κώδικα:

php<?php
  $arr1 = [1, 2, 3, 4, 5];
  
  $arr2 = &$arr1;
  $arr1[0]++;
  
  echo $arr1[0];
  echo $arr2[0];
?>
Задание 3

Πείτε, ποιο θα είναι το αποτέλεσμα της εκτέλεσης του κώδικα:

php<?php
  $arr1 = [1, 2, 3, 4, 5];
  
  $arr2 = &$arr1;
  
  $arr1[0]++;
  $arr2[0]++;
  
  echo $arr1[0];
  echo $arr2[0];
?>