ホームページ >バックエンド開発 >PHPチュートリアル >配列トラバースの問題。
配列があります:
$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);です