找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 88|回复: 14

PHP多重数组如何遍历?

[复制链接]

12

主题

53

回帖

156

积分

注册会员

积分
156
发表于 2018-12-26 00:46:44 | 显示全部楼层 |阅读模式
Array
(
    [battle] => Array
        (
            [0] => Array
                (
                    [id] => 5067
                    [buser] => car
                    [intype] => 礼装满
                    [type] => GL
                )

            [1] => Array
                (
                    [id] => 4988
                    [buser] => mud
                    [intype] => AP deficiency
                    [type] => JQ
                )

            [2] => Array
                (
                    [id] => 1096
                    [buser] => otm
                    [intype] => AP deficiency
                    [type] => JQ
                )

            [3] => Array
                (
                    [id] => 1142
                    [buser] => 1775
                    [intype] => AP deficiency
                    [type] => QP
                )

        )

)


我用遍历取出来的值全是Array,很奇怪。(我是小白,是不是用遍历我也不清楚)
像$b[0]这样的输出出来都没办法取正常的值?头晕了...


因为这些是爬取的数据,所以没办法手动填...
我的想法是,比如 [id] => 5067;[buser] => car这些在第几字节之类,我用个表格样式弄一下...
这样太丑了!
回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-26 00:53:00 | 显示全部楼层
预想样式如图片
回复

使用道具 举报

27

主题

1370

回帖

2871

积分

金牌会员

积分
2871
发表于 2018-12-26 00:53:23 | 显示全部楼层
根据你的结构,假设你所有数组值等于$arr变量,那么直接这样遍历
foreach($arr['battle'] as $k=>$v){
        echo $v['id'].'
';
}
就得到里面每个id的值了
回复

使用道具 举报

3

主题

31

回帖

85

积分

注册会员

积分
85
发表于 2018-12-26 00:54:16 | 显示全部楼层
本帖最后由 diaoye73 于 2018-12-26 00:59 编辑

多层循环遍历
foreach($array as $key=>$val){
foreach($val as $k=>$v){
   
}
}

ps:尴尬,刚刚写的代码和python混了
回复

使用道具 举报

3

主题

31

回帖

85

积分

注册会员

积分
85
发表于 2018-12-26 00:55:44 | 显示全部楼层
你这是二维数组,要是直接$b[0]取出来的肯定就是数组了,var_dump()打印看看就知道了
回复

使用道具 举报

3

主题

31

回帖

85

积分

注册会员

积分
85
发表于 2018-12-26 00:57:37 | 显示全部楼层
弄个表格也简单,建个数据库,导出excel也行,写个页面展示也行
回复

使用道具 举报

1

主题

115

回帖

263

积分

中级会员

积分
263
发表于 2018-12-26 01:15:42 | 显示全部楼层
已知维度自己嵌套,不然可以选递归
回复

使用道具 举报

12

主题

53

回帖

156

积分

注册会员

积分
156
 楼主| 发表于 2018-12-26 10:48:13 | 显示全部楼层

忘江湖 发表于 2018-12-26 00:53

根据你的结构,假设你所有数组值等于$arr变量,那么直接这样遍历
foreach($arr['battle'] as $k=>$v){
        ech ...

感谢大佬!的确是这样!再问一下,
echo $v['id'].'
';
echo $v['buser'].'
';
我这样写,排版就是
id
buser
id
buser
这样交替的…
如果我只想取第一个id的话应该怎么做呢?
$id1=$v['id']
$id11=$id1[1]这样子吗?但是我print_r报错…
回复

使用道具 举报

27

主题

1370

回帖

2871

积分

金牌会员

积分
2871
发表于 2018-12-26 00:53:00 | 显示全部楼层

玉藻前 发表于 2018-12-26 10:48

感谢大佬!的确是这样!再问一下,
echo $v['id'].'';
echo $v['buser'].'';

直接echo $arr['battle'][0]['id'];
看是否可以取到第1个id
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2018-12-26 11:45:46 | 显示全部楼层
明显应该递归啊is_array了解下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2025-4-22 19:16 , Processed in 0.019715 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表