Методы объекта

Статус
В этой теме нельзя размещать новые ответы.

Stm

Новичок
Методы объекта

У меня есть массив объектов, которые добавляются в него примерно так:
$objects[$count]->member1=$some1;
$objects[$count]->memberN=$someN;
$count++;

а потом при попытке вызвать метод этого объекта
$objects[$idx]->method();

возникает ошибка вызова неопределённой функции method

но если добавлять так:

$objects[$count]=&new someClass;

ну или так:
$objects[$count]=new someClass;

$objects[$count]->member1=$some1;
$objects[$count]->memberN=$someN;
$count++;

всё нормально, почему, к переменным доступ есть, а к методам нет ?
 

WMix

герр M:)ller
Партнер клуба
$objects[$idx]->method();
это как я понимаю масив

Открыт $objects[$idx] = new CLASS
да?

или как?

если $objects = new CLASS

то метод $objects->method();
 

Stm

Новичок
class A
{
var $m_a;
function fa()
{
return $this->m_a;
}
};
//phpinfo();
$count=0;
$objects[$count]->m_a=0;
var_dump($objects[$count]);
$objects[$count]->fa();

выводит:

object(stdClass)(1) { ["m_a"]=> int(0) }
Fatal error: Call to undefined function: fa() in E:\Work\www
\test.php on line 22

PHP Version 4.2.3
line 22: $objects[$count]->fa();
 

Crazy

Developer
Stm, это ВЕСЬ исходник? Если да, то это и не должно работать. Если не весь, то нет смысла его обсуждать.
 

Stm

Новичок
$count=0;
$objects[$count]=new A;
$objects[$count]->m_a=0;
var_dump($objects[$count]);
echo $objects[$count]->fa();

output:
object(a)(1) { ["m_a"]=> int(0) } 0

а что такое stdClass
 

Stm

Новичок
а ну всё понятно ни же не, знает что $objects[$count], имее по моему тип class A.
 

tony2001

TeaM PHPClub
PHP:
class A
{
    var $m_a = "m-da";
    function fa()
    {
        return $this->m_a;
    }
}
$objects[0] = new A;
echo $objects[0]->fa();
еще вопросы есть?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху