2016-06-11 2 views
0

내가 MySQL 데이터베이스에서이 사용 PHP와 같은 PHP는 JSON을 생산하기 위해 필요한 것은 :PHP : {}없이 json을 만드시겠습니까?

$return_arr = array(); 
$sql = "SELECT * FROM restaurants"; 
if ($result = mysqli_query($db_conx, $sql)){ 
    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 

    $row_array['id'] = $row['id']; 
    $row_array['location'] = $row['location']; 
    $row_array['name'] = $row['name']; 
    $row_array['type'] = $row['type']; 


    array_push($return_arr,array($row_array)); 
    } 
} 

mysqli_close($db_conx); 

echo json_encode($return_arr); 

그러나이 같은 위의 코드 에코의 뭔가 :

[['Staff Welfare', 'london', 'map-marker-icon.png'] , ['perfect', 'London', 'map-marker-icon.png'] , ['Fare Trade', 'essex', 'map-marker-icon.png'] , ['Fare Trade', 'london', 'map-marker-icon.png'] ,] 

이것은 내가 무엇을 시도했다입니다

[[{"id":"1","location":"london","name":"Staff","type":"indian"}], [{"id":"2","location":"London","name":"perfect","type":"chinese"}],[{"id":"3","location":"essex","name":"Trade","type":"kebab"}],[{"id":"5","location":"london","name":"Fare Trade","type":"kebab"}]] 

누군가가 내게 {}을 어떻게 제거 할 수 있는지 알려 주시고 column names도 삭제하시기 바랍니다. 아들은 내가 찾는 걸 좋아해?

+2

필수 형식이 유효하지 않습니다. JSON JSON과 거의 비슷하지 않습니다. –

+1

유효한 JSON이라면, 1)'''을'''로 변경하고, 2)'''전에'',''를 제거해야합니다. –

답변

3

{}없이 json을 생성하려면 배열 키를 제거해야합니다. array_push 코드를 다음으로 변경하십시오.

array_push($return_arr, array_values($row));

array_values 함수는 키가없는 $row 값만 반환합니다.

+0

감사합니다. ... – Jackson

2

귀하의 인용 원하는 JSON이 유효하지 않습니다,하지만 당신은 "'을 변경하고,이 , 최종 제거한 경우는 유효 할 것 세 가지 항목 각각을 포함하는 배열을 포함하는 배열입니다

[ 
    ["Staff Welfare", "london", "map-marker-icon.png"], 
    ["perfect", "London", "map-marker-icon.png"], 
    ["Fare Trade", "essex", "map-marker-icon.png"], 
    ["Fare Trade", "london", "map-marker-icon.png"] 
] 

입니다 모두 문자열.

JSON에서 개체를 원하지 않으면 PHP에서 연관 배열을 결과 배열로 푸시하지 마십시오.

귀하의 while 루프가 있어야한다 : 어떤 밀려있어하는 세 가지 항목이 지루한 비 연관 배열이라고

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 
    array_push($result_arr, array(
     $row['name'], 
     $row['location'], 
     $row['some-field-you-have-not-shown-giving-image-link'] 
    )); 
} 

참고. (어떤 열 이름이 이미지 링크를 제공하는지 보여주지 않았으므로 위에 설명 된 것을 사용했습니다.)

관련 문제