2013-12-19 3 views
0

나는PHP에서 클래스에 객체를 생성하는 동안 속성에 값을 할당하는 방법은 무엇입니까?

간단히 $dta 두를 보유해야

class Detail 
{ 
    public $Id; 
} 

$xml = new SimpleXMLElement($string); 

$result = $xml->xpath('//DATA/STOREITEMS/CREATED'); 

foreach ($result as $node) { 

       $dta = new Detail($Id = $node['date']); 
       //Dont know this is correct or not 
       //but need to assign values while creating object      
} 


$json= json_encode($dta); 
echo $json; 

내가 클래스 세부 $Id 속성에 $node['key'] 값을 할당해야이

<DATA> 
<STOREITEMS> 
    <CREATED date="Tue Oct 9 5:30:01 BST 2012"> 
    <CATEGORY id="442" name="Hen And Stag Nights"></CATEGORY> 
    <CATEGORY id="69" name="Games"></CATEGORY> 
    <CATEGORY id="252" name="Love Zone"></CATEGORY> 
    <CATEGORY id="202" name="Spotlight Items"></CATEGORY> 
    </CREATED> 
    <CREATED date="Wed Oct 10 5:30:01 BST 2012"> 
    <CATEGORY id="442" name="Hen And Stag Nights"></CATEGORY> 
    <CATEGORY id="69" name="Games"></CATEGORY> 
    <CATEGORY id="252" name="Love Zone"></CATEGORY> 
    <CATEGORY id="202" name="Spotlight Items"></CATEGORY> 
    </CREATED> 
</STOREITEMS> 
<DATA> 

PHP 코드처럼 $string에 저장된 XML 데이터를 가지고 두 개의 $id 값이 삽입 된 개체

어떻게해야합니까?

답변

0

는 __construct 기능을

class Detail{ 
    public $Id; 

    public function __construct($id){ 
     $this->Id = $id;  
    } 
} 
$detail = new Detail('1'); 
var_dump($detail->Id); 
+0

있다 $ 개의 노드 [ '날짜'] 값을 추가한다. 그래서 두 클래스의 객체를 가져와야합니다. Detail 두 ID가 맞습니까? –

+0

@Cashew 예. 귀하의 코드에 따르면, 난 그냥 날짜 값을 배열에 넣은 다음 json_encode 다음과 같이 넣는 것이 더 낫다고 생각합니다. foreach ($ node); $ node [ 'date'];} json_encode ($ date_info); – Nightmare

+0

와우! 그게 내가 원하는거야. 고마워. –

관련 문제