求助,遍历数组

xiachao2008 2011-12-20 01:14:23
有这样一个数组

我现在可以得到data数组
方法为

$data->data

而现在我要循环遍历出data下面的数据。我用for
有这种形式,但是失败的
$data->data->$i->zqdm
还请高手指点一下。

原数组为
stdClass Object
(
[totalPages] => 30
[p] => 1
[totalCount] => 299
[data] => Array
(
[0] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600251
[zqjc] => 鍐犲啘鑲′唤
[type] => s
[cbj] => 21.97
[amount] => 1000
[date] => 2011-12-09 09:32:41
)

[1] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600251
[zqjc] => 鍐犲啘鑲′唤
[type] => b
[cbj] => 22.29
[amount] => 1000
[date] => 2011-12-08 14:34:08
)

[2] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600537
[zqjc] => 娴烽€氶泦鍥? [type] => s
[cbj] => 21.6
[amount] => 1000
[date] => 2011-12-08 13:00:24
)
)

)
...全文
141 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
在你们的帮助下,解决了。
用的这种方法


foreach ($data->data as $k=>$v){
if(is_array($v)){
foreach ($v as $value){
$daima = $value->zqdm;
xuzuning 2011-12-20
  • 打赏
  • 举报
回复
语法错误,意想不到的T_EXIT,期待T_FUNCTION ???

你只给程序片段,如何知道错在哪里?
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
改过来了,但是也是错的
syntax error, unexpected T_EXIT, expecting T_FUNCTION in


foreach ($data->data as $k=>$v){
echo "<pre>";print_r($k."=>".$v);
}

exit();


[Quote=引用 13 楼 xuzuning 的回复:]

引用 12 楼 xiachao2008 的回复:

出错,

Notice: Undefined variable: s in

foreach ($data->data as $k=>$v){
echo "<pre>";print_r($k."=>".$s);
}
引用 10 楼 ohmygirl 的回复:

foreach($data->data as $k=>$v){……
[/Quote]
xuzuning 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 xiachao2008 的回复:]

出错,

Notice: Undefined variable: s in

foreach ($data->data as $k=>$v){
echo "<pre>";print_r($k."=>".$s);
}
引用 10 楼 ohmygirl 的回复:

foreach($data->data as $k=>$v){
echo $k.' => '.$v.'<br/>'……
[/Quote]明明是 $v 你却要用 $s
不出错才怪呢
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
出错,

Notice: Undefined variable: s in

foreach ($data->data as $k=>$v){
echo "<pre>";print_r($k."=>".$s);
}
[Quote=引用 10 楼 ohmygirl 的回复:]

foreach($data->data as $k=>$v){
echo $k.' => '.$v.'<br/>';
}
[/Quote]
ohmygirl 2011-12-20
  • 打赏
  • 举报
回复
不是echo, 用print_r
ohmygirl 2011-12-20
  • 打赏
  • 举报
回复
foreach($data->data as $k=>$v){
echo $k.' => '.$v.'<br/>';
}
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
输出的V为
 [data] => Array
(
[0] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600251
[zqjc] => 鍐犲啘鑲′唤
[type] => s
[cbj] => 21.97
[amount] => 1000
[date] => 2011-12-09 09:32:41
)

[1] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600251
[zqjc] => 鍐犲啘鑲′唤
[type] => b
[cbj] => 22.29
[amount] => 1000
[date] => 2011-12-08 14:34:08
)

[2] => stdClass Object
(
[uin] => 843035290
[grpId] => 0
[jydm] =>
[zqdm] => 600537
[zqjc] => 娴烽€氶泦鍥? [type] => s
[cbj] => 21.6
[amount] => 1000
[date] => 2011-12-08 13:00:24
)
)

[Quote=引用 6 楼 zt_king 的回复:]

用foreach $data->data as $k=>$v试试, 手册中simpleXML能找到相关信息.
[/Quote]
一起混吧 2011-12-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 amani11 的回复:]

$data->data[$i]->zqdm 这样
[/Quote]+++ ,$data->data也是数组。每个元素里面才是对象。
xuzuning 2011-12-20
  • 打赏
  • 举报
回复
除非你给出了错误数据
$d->data[2]->x = 'abcd';

print_r($d);

echo $d->data[2]->x;
stdClass Object
(
[data] => Array
(
[2] => stdClass Object
(
[x] => abcd
)

)

)
abcd
ZT_King 2011-12-20
  • 打赏
  • 举报
回复
用foreach $data->data as $k=>$v试试, 手册中simpleXML能找到相关信息.
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
Fatal error: Cannot use object of type stdClass as array in[Quote=引用 2 楼 xuzuning 的回复:]

[data] => Array
(
[0] => stdClass Object

请注意:data是数组
$data->data[$i]->zqdm
[/Quote]
amani11 2011-12-20
  • 打赏
  • 举报
回复
$data->data[$i]->zqdm 这样
xiachao2008 2011-12-20
  • 打赏
  • 举报
回复
xuzuning 2011-12-20
  • 打赏
  • 举报
回复
[data] => Array
(
[0] => stdClass Object

请注意:data是数组
$data->data[$i]->zqdm
LiveAsaMonster 2011-12-20
  • 打赏
  • 举报
回复
不知道你在说什么

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧