2016-10-01 3 views
0

私は問題があります! 私はちょうどphpで作業を始めましたが、私はすべて理解していますが、理解できないことはありますが...( 問題はこれです - 私はクラスを作成します。例えば:PHPでArrayObgectからオブジェクトを取得するには?

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)); 
} 

をバック配列からオブジェクト(ユーザクラス)を取得しようとした後、それはしていません私は2つの質問があります: 1.これをどうやって抜け出すのですか?(私は多くの方法を試しましたが、配列クラスを試しました) arrayはオブジェクトクラスのユーザですか? 1.1この場合、オブジェクト関数は引き続き動作します。例:

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

2.前の質問に対する答えが不可能な場合は、オブジェクトを取得できる配列を実装する方法、その後は?を使用できます。 は、たとえば次のように:

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

答えて

0

私はあなたがオブジェクトの配列ArrayObjectPHPクラスの間と混同されるかもしれないと思います。

あなたは、その後、データを盗んしその後

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

、同じよう

echo $users['user_1']->getName(); // returns Barry 
をプロパティを割り当てることができ、のような1つのステートメントで

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

をオブジェクトのあなたの配列を宣言することができます

関連する問題