Php 将1D数组转换为2D JSON数组,并对每个单元格进行说明

Php 将1D数组转换为2D JSON数组,并对每个单元格进行说明,php,arrays,json,Php,Arrays,Json,(请原谅术语上的错误,我对json不是很熟悉) 我有一个地图数组,每个单元格都包含地图详细信息[map][details]。当我将数组编码为json时,我得到了数组的有效json表示 我的问题是,如何将每个贴图的一维数组更改为具有单元格描述的二维数组,例如“map_id”=“23”,而不仅仅是“23” 我通过简单地使用 json_encode(Maps::getAllMaps()); 我是否应该将数组转换为3D数组[maps][detail][value],然后进行编码?我通过在编码之前将2D

(请原谅术语上的错误,我对json不是很熟悉)

我有一个地图数组,每个单元格都包含地图详细信息[map][details]。当我将数组编码为json时,我得到了数组的有效json表示

我的问题是,如何将每个贴图的一维数组更改为具有单元格描述的二维数组,例如“map_id”=“23”,而不仅仅是“23”

我通过简单地使用

json_encode(Maps::getAllMaps());

我是否应该将数组转换为3D数组[maps][detail][value],然后进行编码?

我通过在编码之前将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;  
$maps=UserMaps::getMapIDs($user_id);//获取用户有权访问的地图ID
$mapsData=array();//创建新阵列以存储地图中的数据
foreach($maps as$key=>$value){//,因为每个地图用户都有权访问
$mapData=Maps::getMap($Maps[$key]['map\u id']);//获取地图属性
$map=array();
对于($i=0;$i)
$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;