@ivanzuk761
Изучаю PHP

Не выводит Имя?

Подскажите почему нечего не выводит
<?php
class City{
    private $name;
    private $people = [];

    public function setName($vaule){
        $this->name =  $vaule;
    }
    public  function  getName(){
        return $this->name;
    }
    public  function addPerson($person){
        $this->people[] = $person;
    }
    public  function getPeople(){
        $result = '';

       foreach ($this->people as $person){
        $result =$person->getName();
        return $result;
       }
    }
}


class Person{
    private $name;

    public function setName($vaule){
        $this->name =  $vaule;
    }
    public  function  getName(){
        return $this->name;
    }

}
$person = new Person();
$person->setName('Misha');


$person2 = new Person();
$person2->setName('Misha2');


$person3 = new Person();
$person3->setName('Misha3');


$Moscow  = new City();
$Moscow->setName('Moscow');
 echo $Moscow->getName() . '<br>';
 $Moscow->addPerson($person,$person2,$person3);
 $Moscow->getPeople();

?>
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@tutdiscoteca
Вот так будет работать. У тебя несколько мелких ошибок. Передаешь в функцию три параметра а принимаешь только 1. Ну и обработал немного не правильно.
class City
{
    private $name;
    private $people = [];

    public function setName($vaule)
    {
        $this->name = $vaule;
    }

    public function getName()
    {
        return $this->name;
    }

    public function addPerson($person)
    {
        $this->people = $person;
    }

    public function getPeople()
    {
        $result = [];

        foreach ($this->people as $person) {
            $result[] = $person->getName();

        }
        
        return $result;
    }
}


class Person
{
    private $name;

    public function setName($vaule)
    {
        $this->name = $vaule;
    }

    public function getName()
    {
        return $this->name;
    }

}

$person = new Person();
$person->setName('Misha');


$person2 = new Person();
$person2->setName('Misha2');


$person3 = new Person();
$person3->setName('Misha3');


$Moscow = new City();
$Moscow->setName('Moscow');
echo $Moscow->getName() . '<br>';
$Moscow->addPerson([$person, $person2, $person3]);
print_r($Moscow->getPeople());
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 22:18
1000 руб./за проект
03 мая 2024, в 21:57
1000 руб./за проект
03 мая 2024, в 21:47
500 руб./за проект