2016-09-13 8 views
0

オブジェクトの複数のインスタンスを作成しようとしています。これは、ラッパーが動作するように設計されていたためです。私の問題は、オブジェクト宣言にカウンタを追加して、データをループして必要なオブジェクトを作成するだけでなく、ラッパーがそれらをすべて読み取るためにループする必要があるようにすることです。PHPでオブジェクト宣言のカウンターを連結する方法

現在、私はこれがあります。

if(sizeof($product_name) > 0){ 
       for($counter=0;$counter<sizeof($product_name);$counter++){ 
        $lineitem.$counter = new LineItem($this->_xi); 
        $lineitem.$counter->setAccountCode('200') 
         ->setQuantity($product_qty[$counter]) 
         ->setDescription($product_name[$counter]) 
         ->setUnitAmount($product_price[$counter]); 
        print_r($lineitem.$counter); 
       } 
      } 

print_r($lineitem0); 

マイますprint_rは、ループの内側と外側の両方のために何も返しません。

+0

コメントをしてください、私はそれがないですoopと知識があります。申し訳ありません – hungrykoala

+0

これはOOPに関連するのではなく、配列(もしあれば)に関連しています。 – PeeHaa

答えて

1

あなたの問題は、OOPについてのものではなく、PHPに関するものです。あなたが行う必要があり、あなたが作成しているあなたのクラスのすべてのインスタンスを格納するための動的な変数名を作成したい:

if(sizeof($product_name) > 0){ 
    for($counter=0;$counter<sizeof($product_name);$counter++){ 
     ${"$lineitem$counter"} = new LineItem($this->_xi); 
     ${"$lineitem$counter"}->setAccountCode('200') 
     ->setQuantity($product_qty[$counter]) 
     ->setDescription($product_name[$counter]) 
     ->setUnitAmount($product_price[$counter]); 
       print_r(${"$lineitem$counter"}); 
    } 
} 

print_r(${"$lineitem" . 0}); 

はこの質問を見てください:downvoteのためDynamic variable names in PHP

関連する問題