php中多维数组循环遍历问题。
Array( [head] => Array ( [cmd] => 105 [appKey] => 53 [reqSerialNo] => [version] => [ctalkId] => 1 [seqNo] => 1 [seqCnt] => 1 [retCode] => 0 [retStr] => OK ) [respInfo] => Array ( [userInfos] => Array ( [0] => Array ( [userIdinfo] => Array ( [uuid] => 100000124 [type] => 0 [id] => 100000124 ) [userKeyInfos] => Array ( [1] => Array ( [value] => 100000124 [valueName] => sdkUserPriId [valueKeyType] => 1 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) [2] => Array ( [value] => 张尼玛 [valueName] => nickName [valueKeyType] => 2 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) [3] => Array ( [value] => [ { "bigKey" : "", "bigUrl" : "group2/M00/00/05/wKgBC1TAV06BS21_AABoZKLBGRM281.png", "smallKey" : "", "smallUrl" : "group2/M00/00/05/wKgBC1TAV07RoHGEAAAXAgS_rVM330.png" }] [valueName] => head [valueKeyType] => 3 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) [5] => Array ( [value] => 1 [valueName] => gender [valueKeyType] => 5 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) [25] => Array ( [value] => 0 [valueName] => lastUpdateTime [valueKeyType] => 25 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) [71] => Array ( [value] => 2 [valueName] => servercode [valueKeyType] => 71 [accessLvl] => 0 [reserveValue] => Array ( ) [reserve] => Array ( ) ) ) [userInfoReserve] => Array ( ) ) ) ))
这是数组打印出来的结果,在网上看到有把多维数组转化成一维数组的方法,但是这样循环遍历出来的结果只能通过下标来获取数据了
function arr_foreach ($arr) { static $data; if (!is_array ($arr)) { return $data; } foreach ($arr as $key => $val ) { if (is_array ($val)) { arr_foreach ($val); } else { //$data[$key]=$val; $data[] = $val; } } return $data; } $res=arr_foreach($result ); print_r($res);
尝试过在 $data[] = $val;里面加上key但是获取的信息就不全了。$result返回来的可能是多条用户信息,打印只打印了单条出来,其他的结构都是一样的。求帮忙
回复讨论(解决方案)
求帮帮忙,发现一个问题,就是这个方法遍历的时候,如果返回的是多个用户的,它全都在一个array里面显示了,id跟着往下走的。
没人嘛,技术大大呢。
你这是一个4维以上的数组,你打算做什么呢?
按你示例的代码,输出的是一维数组。需求是这样吗?
你这是一个4维以上的数组,你打算做什么呢?
按你示例的代码,输出的是一维数组。需求是这样吗?
嗯,就是转化成一维之后发现如果用户数据有多条的话,他的下标就会一直增加,没办法去循环遍历了,我现在想做的就是查询出10个用户数据,然后获取到用户名字、区服、头像、性别列表显示出来。不知道怎么来写循环
你是要取 userKeyInfos 键下的内容吗?
如果要代码,请给出原始数组的 var_export 打印结果
你是要取 userKeyInfos 键下的内容吗?
如果要代码,请给出原始数组的 var_export 打印结果
$new_arr = array(); foreach ($result['respInfo']['userInfos'] as $k => $a) { foreach ($a['userKeyInfos'] as $v) { $new_arr[$k][$v['valueName']] = $v['value']; } } print_r($new_arr);
这个是捣腾出来遍历的结果
Array( [0] => Array ( [sdkUserPriId] => 100000124 [nickName] => 张尼玛 [head] => [ { "bigKey" : "", "bigUrl" : "group2/M00/00/05/wKgBC1TAV06BS21_AABoZKLBGRM281.png", "smallKey" : "", "smallUrl" : "group2/M00/00/05/wKgBC1TAV07RoHGEAAAXAgS_rVM330.png" }] [gender] => 1 [lastUpdateTime] => 0 [servercode] => 2 ) [1] => Array ( [sdkUserPriId] => 100000125 [nickName] => 100000125 [head] => [ { "bigKey" : "", "bigUrl" : "group1/M00/00/1D/wKgBeVUTdUCRpZD9AAF6ty8lLh4759.png", "smallKey" : "", "smallUrl" : "group1/M00/00/1D/wKgBeVUTdUDyBV08AAAKBhUiAA8391.png" }] [gender] => 0 [lastUpdateTime] => 0 [servercode] => )
现在的问题是head字段里面的头像图片怎么取呢在我的foreach遍历里面加还是取出$new_arr再去遍历呢,servercode这个是区服也是在遍历里面做循环吗?
已经解决了。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...
