Как из конструктора класса вернуть массив? из файла 1.php объявляю классinclude_once('2.php');
$result = new class1();
print_r($result);
в файле 2.php имеется класс с конструкторомclass class1 {
public function __construct() {
$res['1']='1';
$res['2']='2';
return($res);
}
}
в таком варианте итог вывода файла 1 пустой объект.
через куча разных попыток получился результат:
файл 1.phpinclude_once('2.php');
$result = new class1();
print_r($result->result());
файл 2.phpclass class1 {
private $res;
function __construct() {
$this->$res['1']='1';
$this->$res['2']='2';
}
public function result() {
return($this->$res);
}
}
в таком варианте в итоге массив возвращается, но при этом на каждую строчку где присутствует $this->$res выдается ошибка о том, что переменная res не объявлена.
как сделать правильно что бы и массив передавался, желательно сразу с конструктора, и ошибок не возникало?

21 Авг 2019 в 07:00
181 +1
0
Ответы
1

Чтобы вернуть массив из конструктора класса без ошибок, вы можете сделать следующее:

Файл 1.php:

include_once('2.php');
$result = new class1();
print_r($result->getResult());

Файл 2.php:

class class1 {
private $res;
function __construct() {
$this->res['1']='1';
$this->res['2']='2';
}
public function getResult() {
return $this->res;
}
}

Используйте стрелочную операцию -> для доступа к приватной переменной $res и ее методу getResult(). Таким образом, вы вернете массив из конструктора без ошибок.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир