채택완료

배열 출력 질문 드립니다.

2021-05-17 (월) 19:28:14 2,622

안녕하세요.

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개

채택된 답변
+20 포인트
2021-05-17 (월) 19:59:10
Copy
while($row = mysql_fetch_array($result)){
  $array_mem[] = "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'}";
}

$str = implode(',', $array_mem);
echo $str;

Or

Copy
$str = "";
while($row = mysql_fetch_array($result)){
  $str .= "{id: '".$row['id']."', name: '".$row['name']."', parent: '".$row['parent']."'},";
}

echo rtrim($str, ',');

답변을 작성하려면 로그인이 필요합니다.