> 백엔드 개발 > PHP 튜토리얼 > 数组遍历问题。

数组遍历问题。

WBOY
풀어 주다: 2016-06-23 13:26:13
원래의
1081명이 탐색했습니다.

有一个数组为:

$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);
로그인 후 복사
로그인 후 복사


明白了,谢谢版主~~
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿