0

PHP に配列があり、それを 2 回繰り返して、毎回異なることを行っています。配列は と呼ばれ$dataます。
次のような 2 つの foreach ループがあります。

foreach($data as $item){
//doing stuff
}
foreach($data as $item){
//doing different stuff
}

これがアプリケーションの方法であるため、2つを結合することはできませんが、最初の反復でデータを $data 配列に移動し、2番目の反復で表示したいと考えています。私が考えることができた唯一の方法は以下でした。例えば

foreach($data as $item){
$data[]['new key']='my new data';
}
foreach($data as $item){
var_dump($item['new key']);//print 'my new data'
}

これを行うより良い方法はありますか?

4

1 に答える 1

0

array BY REFERENCEを渡したいようですね。
これは、配列を通常の配列 (コピー) ではなく、配列へのポインターのように扱っていることを意味します$data
これは、オブジェクト (コピーではなくインスタンス自体) の使用方法に似ています。

これは次の方法で実装できます。

foreach($data as &$item){
    $item['new var'] ='my new data';
}

foreach($data as $item){
    var_dump($item['new key']);//print 'my new data'
}

それが役立つことを願っています

于 2013-02-05T13:42:29.637 に答える