2016-10-01 40 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)); 
} 

,並試圖獲得對象(用戶級)從陣列回來後,那麼它不工作...(試過很多方法,只是試過陣列類) 所以我有兩個問題: 1.如何擺脫這個數組是對象類的用戶? 1.1在這種情況下,對象功能繼續運行。例如:

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

2.如果回答前一個問題是不可能的,那麼如何實現一個數組,你可以得到的對象,之後就可以使用? 例如像這樣:

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

回答

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