Σύνδεσμοι στο foreach στην PHP

Όταν εργάζεστε με τον βρόγχο foreach η αλλαγή της μεταβλητής για τα στοιχεία δεν οδηγεί σε αλλαγές στον ίδιο τον πίνακα:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as $elem) {
    $elem++;
  }
  
  var_dump($arr); // δεν αλλάζει
?>

Ωστόσο, το επιθυμητό αποτέλεσμα μπορεί να επιτευχθεί αν δηλώσετε τη μεταβλητή για τα στοιχεία ως αναφορά. Σε αυτήν την περίπτωση, οι αλλαγές αυτής της μεταβλητής θα οδηγήσουν σε αλλαγές στον πίνακα:

php<?php
  $arr = [1, 2, 3, 4, 5];
  
  foreach ($arr as &$elem) {
    $elem++;
  }
  
  var_dump($arr); // αλλάζει
?>
Задание 1

Διορθώστε τον ακόλουθο κώδικα έτσι, ώστε να λειτουργεί σύμφωνα με τη σχεδίαση:

php<?php
  $arr = [1, 2, 3, 4, 5];

  foreach ($arr as &$elem) {
    $elem = sqrt($elem);
  }
  
  var_dump($arr); 
?>
Задание 2

Διορθώστε τον ακόλουθο κώδικα έτσι, ώστε να λειτουργεί σύμφωνα με τη σχεδίαση:

php<?php
  $arr = [1, 2, 3, 4, 5];

  foreach ($arr as &$elem) {
    $elem ** 2;
  }
  
  var_dump($arr); 
?>