Есть класс
class X
{
function __construct()
{
$this->array = array();
}
function __destruct()
{
return $this->array;
}
function getAllData()
{
array_push($this->array, 'no_enter_data');
}
}
Вызываю функицю
$result = new X;
print_r($result->getAllData());
Но возвращает пустой массив почему не могу понять.
Если вы хотите увидеть результат тут - print_r($result->getAllData()); то нужно возвращать результат:
function getAllData()
{
array_push($this->array, 'no_enter_data');
return $this->array;
}
Если вы хотите получать при __destruct, то тут немного по другому.
Деструктор вызывается, но результат его работы не выводится, поэтому return бессмыслен. Надо тогда так:
class X {
function __construct()
{
$this->array = array();
}
function __destruct()
{
print_r($this->array);
}
function getAllData()
{
array_push($this->array, 'no_enter_data');
}
}
$result = new X;
$result->getAllData();
P.S. стоит учитывать что деструктор вызывается при разрушении класса. Обычно - в конце работы всего скрипта.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости