2017-01-15 11 views
0

の説明と2D JSON配列に変換します(専門用語で間違いを言い訳してください、私はJSONに精通していないです)1D配列は、各セル

私はマップの詳細を含む各セルマップの配列を、持っています[地図] [詳細]。配列をjsonにエンコードすると、配列の有効なjson表現が得られます。

私の質問は、 "map_id" = "23"の代わりに "23"のようなセルの記述を使用して、各マップの1D配列から2D配列に変更する方法はありますか?

$maps = UserMaps::getMapIDs($user_id);  // get map IDs user has access to 

$mapsData = array();      // create new array to store data 
foreach ($maps as $key => $value) {   // for maps user has access to 
    $mapsData[] = Maps::getMap($maps[$key]['map_id']); // push map data into new array 
} 

var_dump($mapsData); 
if($mapsData == NULL) { echo "no maps to display"; } 
return $mapsData;       // return array with map data 

は、私は3次元配列に[マップ] [詳細] [値]列をオンにしてからエンコードする必要があり、単に

json_encode(Maps::getAllMaps()); 

で符号化することによって、JSONを取得しますか?

答えて

0

2D配列をエンコードする前に3D配列に変換して修正しました。ここにコードがあります:

$maps = UserMaps::getMapIDs($user_id);    // get map IDs user has access to 

$mapsData = array();        // create new array to store data from the maps 
foreach ($maps as $key => $value) {     // for each map user has access to 
    $mapData = Maps::getMap($maps[$key]['map_id']);  // get map properties 
    $map = array(); 
    for($i=0; $i<11; $i++){ 
     $property = array();   // create property array 
     $property[] = $properties[$i]; // add property title 
     $property[] = $mapData[$i];   // add value 
     $map[] = $property; 
    } 
    $mapsData[] = $map; // push map data into new array cell 
} 

// var_dump($mapsData); 
if($mapsData == NULL) { echo "no maps to display"; } 
return $mapsData; 
関連する問題