Stocarea obiectelor în array-uri în OOP în PHP

Să presupunem că avem următoarea clasă User:

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

Să conectăm fișierul cu clasa noastră la fișierul index.php:

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

Să creăm trei obiecte ale clasei noastre:

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

Acum să înregistrăm obiectele create de noi într-un array $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);
?>

Putem scurta codul nostru, scăpând de variabile:

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

Putem scurta codul și mai mult, făcând direct un array de obiecte:

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

Acum să parcurgem array-ul nostru de obiecte cu un ciclu și să afișăm proprietățile obiectelor pe ecran:

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

Creați o clasă City, în care vor fi următoarele proprietăți: name, population.

Задание 2

Creați 5 obiecte ale clasei City, completați-le cu date și înregistrați-le într-un array.

Задание 3

Parcurgeți array-ul de orașe creat de dvs. cu un ciclu și afișați orașele și populația lor pe ecran.