object(stdClass)[1]
public 'inbox' =>
array
0 =>
object(stdClass)[2]
public 'from' => string '55512351' (length=8)
public 'date' => string '29/03/2010' (length=10)
public 'time' => string '21:24:10' (length=8)
public 'utcOffsetSeconds' => int 3600
public 'recipients' =>
array
0 =>
object(stdClass)[3]
public 'address' => string '55512351' (length=8)
public 'name' => string '55512351' (length=8)
public 'deliveryStatus' => string 'notRequested' (length=12)
public 'body' => string 'This is message text.' (length=21)
1 =>
object(stdClass)[4]
public 'from' => string '55512351' (length=8)
public 'date' => string '29/03/2010' (length=10)
public 'time' => string '21:24:12' (length=8)
public 'utcOffsetSeconds' => int 3600
public 'recipients' =>
array
0 =>
object(stdClass)[5]
public 'address' => string '55512351' (length=8)
public 'name' => string '55512351' (length=8)
public 'deliveryStatus' => string 'notRequested' (length=12)
public 'body' => string 'This is message text.' (length=21)
....
....
我有这个foreach,但它没有迭代地址,名称, deliveryStatus !你能说明如何获得这些数据吗?
foreach ($data->inbox as $note) {
echo '<p>';
echo 'From : ' . htmlspecialchars($note->from) . '<br />';
echo 'Date : ' . htmlspecialchars($note->date) . '<br />';
echo 'Time : ' . htmlspecialchars($note->time) . '<br />';
echo 'Body : ' . htmlspecialchars($note->body) . '<br />';
}
答案 0 :(得分:1)
地址,名称,deliveryStatus位于子数组中,因此您需要迭代子数组以便能够提取要打印的数据
foreach ($data->inbox as $note) {
echo '<p>';
echo 'From : ' . htmlspecialchars($note->from) . '<br />';
echo 'Date : ' . htmlspecialchars($note->date) . '<br />';
echo 'Time : ' . htmlspecialchars($note->time) . '<br />';
echo 'Body : ' . htmlspecialchars($note->body) . '<br />';
//now iterate over the child array
foreach ($note->recipients as $recipient) {
echo 'x : ' . htmlspecialchars($recipient->address) . '<br />';
echo 'y : ' . htmlspecialchars($recipient->name) . '<br />';
echo 'z : ' . htmlspecialchars($recipient->$recipient->address) . '<br />';
}
}