数组遍历问题。
程序员文章站
2022-04-01 09:55:44
...
有一个数组为:
如何把该数组转化为:
脑子一下子转不过来了
明白了,谢谢版主~~
$arr = array( 'userId'=>array(1,2,3), 'username'=>array('Tom','Rose','Ben'), 'sex'=>array('男','女','男'));
如何把该数组转化为:
$arr2 =array( array('userId'=>1,'username'=>'Tom','sex'=>'男'), array('userId'=>2,'username'=>'Rose','sex'=>'女'), array('userId'=>3,'username'=>'Ben','sex'=>'男') );
脑子一下子转不过来了
回复讨论(解决方案)
刚发发完贴就想到了解决办法了……
$arr = array( 'userId'=>array(1,2,3), 'username'=>array('Tom','Rose','Ben'), 'sex'=>array('男','女','男'));foreach($arr as $k=>$item) { foreach($item as $i=>$v) $res[$i][$k] = $v;}print_r($res);
Array( [0] => Array ( [userId] => 1 [username] => Tom [sex] => 男 ) [1] => Array ( [userId] => 2 [username] => Rose [sex] => 女 ) [2] => Array ( [userId] => 3 [username] => Ben [sex] => 男 ))
另类一点,就是
$arr = array( 'userId'=>array(1,2,3), 'username'=>array('Tom','Rose','Ben'), 'sex'=>array('男','女','男'));$k = array_fill(0, count($arr), array_keys($arr));$v = call_user_func_array('array_map', array_merge(array(null), $arr));$r = array_map('array_combine', $k, $v);print_r($r);
另类一点,就是
$arr = array( 'userId'=>array(1,2,3), 'username'=>array('Tom','Rose','Ben'), 'sex'=>array('男','女','男'));$k = array_fill(0, count($arr), array_keys($arr));$v = call_user_func_array('array_map', array_merge(array(null), $arr));$r = array_map('array_combine', $k, $v);print_r($r);
明白了,谢谢版主~~
推荐阅读
-
基于Java 数组内存分配的相关问题
-
从.NET CORE2.2升级到3.0过程及遇到的一些问题
-
Android圆形头像拍照后“无法加载此图片”的问题解决方法(适配Android7.0)
-
Android滑动冲突问题的解决方法
-
springboot中如何通过cors协议解决跨域问题
-
深入学习Spring Boot排查 @Transactional 引起的 NullPointerException问题
-
微信小程序 image组件遇到的问题
-
springboot openfeign从JSON文件读取数据问题
-
再议C#中的装箱与拆箱的问题详解
-
使用Enumeration和Iterator遍历集合类详解