数组遍历问题。
程序员文章站
2022-04-27 23:05:02
...
有一个数组为:
如何把该数组转化为:
脑子一下子转不过来了
明白了,谢谢版主~~
$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);
明白了,谢谢版主~~