Copy
array([test1] => array([0] => a1[1] => a2)[test2] => array([0] => b1[1] => b2))
이런식의 배열이 있다면
다음과 같은 배열로 변경 하는 방법이 있을까요?
기초가 부족하다보니 for를 돌리고 있네요 ㅎㅎㅎ
Copy
array ([0] => array([test1]=>a1[test2]=>b1)[1] => array([test1]=>a2[test2]=>b2 ))
목적
Copy
[{'test1':'a1', 'test2': 'b1'}, {'test1':'a2', 'test2': 'b2'}]
처럼 요구하는 json처리를 위함
답변 3개 / 댓글 5개
채택된 답변
+20 포인트
for 로 돌리셨으니 저는 foreach 로..;;
Copy
$s = array(test1 => array(0 => 'a1',1 => 'a2'),test2 => array(0 => 'b1',1 => 'b2'));print_r2($s);$rr = array();foreach($s as $k => $v){ $i=0; foreach($v as $j => $v2){ $rr[$i][$k] = $v2; $i++; }}print_r2($rr);
답변에 대한 댓글 3개
Copy
$Data = array('test1'=>array('a1', 'a2', 'a3'), 'test2'=>array('b1', 'b2', 'b3'));$DataKay = array_keys($Data);$Out = array();foreach($Data as $key=>$val) { for($i=0; $i<count($Data[$key]); $i++) { $Out[$i][$key] = $Data[$key][$i]; }}/*결과:Array( [0] => Array ( [test1] => a1 [test2] => b1 ) [1] => Array ( [test1] => a2 [test2] => b2 ) [2] => Array ( [test1] => a3 [test2] => b3 )) */
이런식은 어떨까요?
$prices = array(
'Tires'=>100,
'Oil'=>10,
'Spark Plugs'=>4
);
while(list($product, $price) = each($prices)) {
echo "$product - $price";
}
답변을 작성하려면 로그인이 필요합니다.
일단 가장 빨리 근사 값에 도달 하셔서 채택!