2011-08-16 19 views
0

私はmysqlクエリをループして、値をオブジェクトに格納しています。私は自動的にオブジェクトを反復したいので、配列をデータとして保存します。ここで

は私がやっているものです:

$i = 0; 
foreach($query->result() as $row) 
{ 
    $data->$i = $row; 
    $i++; 
} 

私は上記のコードで$iの必要性を取り除くが、オブジェクトのために、以下のコードを模倣したいと思います:

foreach($query->result() as $row) 
    $data[] = $row; 

foreachループまたはwhileループで変数を格納するときに、オブジェクトを反復するのには$data[] = $rowと同等のものは何ですか?

注:この方法でオブジェクトを使用すべきではないことは明らかです。なぜこれが当てはまるのか教えてください。

+4

これは私にとってPHPが不適切に使用されているようです。なぜオブジェクトの配列にそれらを格納するだけではないのですか? '$ data - > results []'と同じですか? – sdleihssirhc

+0

これを行うことで何を得ようとしていますか? – Jakub

答えて

4

オブジェクトがそのように動作しないため、1つもありません。また、物事を線形に保存したい場合は、そのような方法でオブジェクトを使用するべきではありません。

+0

uh oh。あなたはこれで詳しく説明できますか? –

+2

あまり詳しく説明しません。それはすべて "それをしないでください"に沸騰する。 –

1

オブジェクトを作成する場合は、foreach()を使用して反復することができます。イテレータインターフェイスを実装する必要があります。 http://php.net/iterator

1

データを格納するために配列を使用し、その後オブジェクトに変換することができます。

関連する問題