Как из конструктора класса вернуть массив? из файла 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 не объявлена. как сделать правильно что бы и массив передавался, желательно сразу с конструктора, и ошибок не возникало?
Чтобы вернуть массив из конструктора класса без ошибок, вы можете сделать следующее:
Файл 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(). Таким образом, вы вернете массив из конструктора без ошибок.
Чтобы вернуть массив из конструктора класса без ошибок, вы можете сделать следующее:
Файл 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(). Таким образом, вы вернете массив из конструктора без ошибок.