如何从php中的ArrayObgect获取对象?

时间:2016-10-01 20:35:13

标签: php class object arrayobject

我有问题! 我刚开始使用php,但我理解所有,但我尝试理解的一件事,但不能......( 所以问题是这个 - 我创建了一个类,例如:

class User{
public $name;
public $password;

public function getPassword()
{
return $this->password;
}

public function getName()
{
    return $this->name;
}
}

当我尝试创建此类的对象数组时,预填充数据对象:

 {
 $arrayUsers = new ArrayObject();

 $user1 = new User();
 $user1->name="lol";
 $user1->password=9898898;

 $user2 = new User();
 $user2->name="lal";
 $user2->password=988;


 $user3 = new User();
 $user3->name="lRus";
 $user3->password=1;


 $arrayUsers->append(array($user1,$user2,$user3));
 }

在尝试从数组中获取对象(User类)后,它不起作用...(尝试过很多方法,只是试过数组类) 所以我有两个问题: 1.如何摆脱这个数组是对象类用户? 1.1在这种情况下,对象功能继续运行。例如:

 $obtainedObject_parentClass_is_User->getName();
 //Log : "lol"

2。如果无法回答上一个问题,那么如何实现一个可以获取对象的数组,之后可以使用? 例如:

 $obtainedObject_parentClass_is_User->getName();
 //Log : "lol"

1 个答案:

答案 0 :(得分:0)

我认为你可能会对PHP类 ArrayObject 一个对象数组感到困惑。

您可以在一个语句中声明对象数组,例如

$users = [
    'user_1' => new User(),
    'user_2' => new User(),
    'user_3' => new User()
];

然后您可以分配属性,

$users['user_1']->name = 'Barry';
$users['user_1']->password = 'superSecret';
/// etc...

然后检索数据,

echo $users['user_1']->getName(); // returns Barry