如何从 php 中的数组对象中获取对象?
How to get object from ArrayObgect in php?
我有问题!
我刚开始使用 php 工作,但我了解所有内容,但我尝试了解一件事,但不能...(
所以问题是这样的——我创建了一个 class,例如,这个:
class User{
public $name;
public $password;
public function getPassword()
{
return $this->password;
}
public function getName()
{
return $this->name;
}
}
当我尝试创建此 class 的对象数组时,预先填充了数据对象:
{
$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));
}
并且在尝试从数组中取回对象(用户class)后,它不起作用...(尝试了很多方法,只尝试了数组class)
所以我有两个问题:
1.如何从这个数组中取出对象是class用户?
1.1 在这种情况下,目标函数继续运行。例如:
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
2。如果上一个问题的答案是不可能的,那么如何实现一个数组,你可以在其中获取对象,然后你可以使用它?
例如像这样:
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
我认为您可能会混淆 PHP class 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
我有问题! 我刚开始使用 php 工作,但我了解所有内容,但我尝试了解一件事,但不能...( 所以问题是这样的——我创建了一个 class,例如,这个:
class User{
public $name;
public $password;
public function getPassword()
{
return $this->password;
}
public function getName()
{
return $this->name;
}
}
当我尝试创建此 class 的对象数组时,预先填充了数据对象:
{
$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));
}
并且在尝试从数组中取回对象(用户class)后,它不起作用...(尝试了很多方法,只尝试了数组class) 所以我有两个问题: 1.如何从这个数组中取出对象是class用户? 1.1 在这种情况下,目标函数继续运行。例如:
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
2。如果上一个问题的答案是不可能的,那么如何实现一个数组,你可以在其中获取对象,然后你可以使用它? 例如像这样:
$obtainedObject_parentClass_is_User->getName();
//Log : "lol"
我认为您可能会混淆 PHP class 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