배열 출력 질문 드립니다.
본문
안녕하세요.
php로 반복문을 아래와 같이 돌렸습니다.
while($row = mysql_fetch_array($result)){
$array_mem = "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'},";
}
그리고 반복문 내에서 echo 를 찍으면 {id: '1000001', name: '001', parent: '0'},{id: '1000002', name: '002', parent: '1000001'},{id: '1000003', name: '003', parent: '1000001'},{id: '1000004', name: '004', parent: '1000001'}, {id: '1000005', name: '005', parent: '1000002'},
이런식으로 디비에 들어있는 내용 전체가 잘 출력이 됩니다.
그런데 이 $array_mem을 반복문 밖에서 호출하면 {id: '1000001', name: '001', parent: '0'}, 이거밖에 안찍혀서 while($row = mysql_fetch_array($result)){
$array_mem[] = "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'},";
}
이렇게 배열로 지정했습니다.
그리고 print_r을 찍으니 Array ( [0] => {id: '1000001', name: '001', parent: '0'}, [1] => {id: '1000002', name: '002', parent: '1000001'}, [2] => {id: '1000003', name: '003', parent: '1000001'}, [3] => {id: '1000004', name: '004', parent: '1000001'}, [4] => {id: '1000005', name: '005', parent: '1000002'}, [5] => {id: '1000006', name: '006', parent: '1000002'},
이렇게 나오는데요 제가 얻고 싶은 데이터는
{id: '1000001', name: '001', parent: '0'},{id: '1000002', name: '002', parent: '1000001'},{id: '1000003', name: '003', parent: '1000001'},{id: '1000004', name: '004', parent: '1000001'}, {id: '1000005', name: '005', parent: '1000002'},
이런 데이터 거든요.....어떻게 하면 이렇게 출력되도록 할 수 있을까요?
답변 1
while($row = mysql_fetch_array($result)){
$array_mem[] = "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'}";
}
$str = implode(',', $array_mem);
echo $str;
Or
$str = "";
while($row = mysql_fetch_array($result)){
$str .= "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'},";
}
echo rtrim($str, ',');