Iは以下の配列構造を有しており、Iが正常各ループに使用して[LoyaltyHistory]一部をループしています:各ループのは警告(2):foreachのために供給される無効な引数()
Array
(
[0] => Array
(
[LoyaltyHistory] => Array
(
[id] => 5
[user_id] => 32
[points] => 4
[date] => 2012-02-07
[total] => 146
)
[User] => Array
(
)
)
[1] => Array
(
[LoyaltyHistory] => Array
(
[id] => 6
[user_id] => 32
[points] => -6
[date] => 2012-02-07
[total] => 140
)
[User] => Array
(
)
)
[2] => Array
(
[LoyaltyHistory] => Array
(
[id] => 7
[user_id] => 32
[points] => -5
[date] => 2012-02-07
[total] => 135
)
[User] => Array
(
)
)
[3] => Array
(
[LoyaltyHistory] => Array
(
[id] => 8
[user_id] => 32
[points] => 15
[date] => 2012-02-07
[total] => 150
)
[User] => Array
(
)
)
[4] => Array
(
[LoyaltyHistory] => Array
(
[id] => 9
[user_id] => 32
[points] => 5
[date] => 2012-02-10
[total] => 155
)
[User] => Array
(
)
)
[5] => Array
(
[LoyaltyHistory] => Array
(
[id] => 10
[user_id] => 32
[points] => 155
[date] => 2012-03-04
[total] => 305
)
[User] => Array
(
)
)
[6] => Array
(
[LoyaltyHistory] => Array
(
[id] => 11
[user_id] => 32
[points] => -5
[date] => 2012-03-04
[total] => 300
)
[User] => Array
(
)
)
[7] => Array
(
[LoyaltyHistory] => Array
(
[id] => 12
[user_id] => 32
[points] => 5
[date] => 2012-03-05
[total] => 305
)
[User] => Array
(
)
)
)
あります
<?php foreach ($history as $hist)
{
if($hist['LoyaltyHistory']['points'] > 0) $hist['LoyaltyHistory']['points'] = '+'.$hist['LoyaltyHistory']['points'];?>
<tr>
<td><?php echo $hist['LoyaltyHistory']['date']; ?></td>
<td><?php echo $hist['LoyaltyHistory']['points']; ?></td>
<td><?php echo $hist['LoyaltyHistory']['total']; ?></td>
</tr>
<?php } ?>
ザは各ループの配列から正しい要素をoutputingされるが、それは次の警告の原因となっている:'Warning (2): Invalid argument supplied for foreach()'
を、私は理由を把握することができない次のように構成さ。
'$ history'をループ変数として使用していますが、ループの中で' $ h'を呼び出すことができますか? –
よく調べられ、その参照を$ hから$ histに更新するのを忘れた場合、元の投稿への修正が行われます。残念ながらそれは問題を引き起こしているものではありません。 –
私はあなたのデータを使って例を試してみましたが、正しく動作します。どのサイクル後にこの警告を受け取るかを定義してください。 –