Αποθήκευση αντικειμένων σε πίνακες στην αντικειμενοστραφή προγραμματισμό (ΟΟΠ) στην PHP

Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση User:

User.php<?php
  class User
  {
    public $name;
    public $age;
    
    public function __construct($name, $age)
    {
      $this->name = $name;
      $this->age = $age;
    }
  }
?>

Ας συνδέσουμε το αρχείο με την κλάση μας στο αρχείο index.php:

index.php<?php
  require_once 'User.php';
?>

Ας δημιουργήσουμε τρία αντικείμενα της κλάσης μας:

index.php<?php
  $user1 = new User('john', 21);
  $user2 = new User('eric', 22);
  $user3 = new User('kyle', 23);
?>

Ας γράψουμε τώρα τα αντικείμενα που δημιουργήσαμε σε έναν πίνακα $users:

index.php<?php
  $user1 = new User('john', 21);
  $user2 = new User('eric', 22);
  $user3 = new User('kyle', 23);
  
  $users[] = $user1;
  $users[] = $user2;
  $users[] = $user3;
  
  var_dump($users);
?>

Μπορούμε να συντομεύσουμε τον κώδικά μας, απομακρύνοντας τις μεταβλητές:

index.php<?php
  $users[] = new User('john', 21);
  $users[] = new User('eric', 22);
  $users[] = new User('kyle', 23);
  
  var_dump($users);
?>

Μπορούμε να συντομεύσουμε τον κώδικα ακόμη περισσότερο, δημιουργώντας απευθείας πίνακα αντικειμένων:

index.php<?php
  $users = [
    new User('john', 21),
    new User('eric', 22),
    new User('kyle', 23)
  ];
  
  var_dump($users);
?>

Ας διατρέξουμε τώρα τον πίνακα αντικειμένων μας με βρόχο και ας εμφανίσουμε τις ιδιότητες των αντικειμένων στην οθόνη:

index.php<?php
  foreach ($users as $user) {
    echo $user->name . ' ' . $user->age . '<br>';
  }
?>
Задание 1

Δημιουργήστε μια κλάση City, η οποία θα έχει τις ακόλουθες ιδιότητες: name, population.

Задание 2

Δημιουργήστε 5 αντικείμενα της κλάσης City, συμπληρώστε τα με δεδομένα και γράψτε τα σε έναν πίνακα.

Задание 3

Διατρέξτε τον πίνακα με τις πόλεις που δημιουργήσατε με βρόχο και εμφανίστε τις πόλεις και τον πληθυσμό τους στην οθόνη.