Переменные массивы в контексте класса

0

Я пытаюсь выполнить простой метод класса, когда пользователь отправляет свое имя форме, и он возвращает приветственное сообщение для каждого имени в массиве переменных, например "Welcome John", "Welcome Mike" и т.д.

Сделать это как обычную функцию легко:

$arr = array('Mike', 'John', 'Molly', 'Louis');
 function Hello($arr) {
    if(is_array($arr)) {
        foreach($arr as $name) {
            echo "Hello $name" . "<br>";    
        }
    } else {
        echo "Hello $arr";  
    }
}

Hello($arr);

Однако я не могу заставить его работать в контексте класса:

$arr = array('Mike', 'John', 'Molly', 'Louis');
class greetUser {
    public $current_user;   

    function __construct($current_user) {
        $this->current_user = $current_user;    
    }

    public function returnInfo() {
        if(is_array($this->current_user)) {
            foreach($this->current_user as $name) {
                echo "Welcome, " . $name;
            }
        } else {
           echo "Welcome, " . $this->current_user;
        }
    }   
}


    $b = new greetUser(''.$arr.'');
    $b->returnInfo();
  • 0
    new greetUser(''.$arr.''); почему вы пытаетесь объединить две пустые строки в массив. Просто new greetUser($arr);
  • 0
    Глупая ошибка, спасибо!
Теги:
class
object
oop

2 ответа

0

Я совершил очень глупую ошибку, поскольку пользователи указали, что я связывал переменную, когда это было необязательно!

0

замените ваш $ b = новый greetUser (''. $ arr. ''); с $ b = new greetUser ($ arr); и он будет работать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню