2016-10-01 7 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']->name = 'Barry'; 
$users['user_1']->password = 'superSecret'; 
/// etc... 

데이터를 retreive하는
$users = [ 
    'user_1' => new User(), 
    'user_2' => new User(), 
    'user_3' => new User() 
]; 

당신은 다음과 같은 속성을 지정할 수 있습니다

, 당신은 같은 하나 개의 문장에서 객체의 배열을 선언 할 수 있습니다

,

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