2016-06-11 9 views
0

私はMySQLデータベースからPHPを使用して、このようなPHPのJSONを生成する必要があります。PHP:{}なしで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'] ,] 

これは私が試したものです:

$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); 

しかし、このような上記のコードのエコーの何か:

私は{}を削除する方法を教えてください。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が無効であるが、あなたは"'を変更し、最終,を削除した場合、それが有効になりたい:これらはすべての3つのエントリそれぞれを含む配列を含む配列です

[ 
    ["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'] 
    )); 
} 

注どのようなプッシュされていますが3つのエントリで退屈な非連想配列であること。 (画像のリンクを与える列名は表示されていないので、上記の記述を使用しています)

関連する問題