PHP MySQL多维数组创建

PHP MySQL多维数组创建,php,mysql,json,Php,Mysql,Json,我正在为我当地的跑步俱乐部创建一个网站。 每次有人参加比赛时,它都会被输入数据库(MySQL)。 目前,我希望获取包含以下结构的json数组: [{'race':'race1','date':'01/01/2015','distance': [{'5k':[{'name': 'John'}, {'name':'Brad'}], {'10K':[{'name':'Marc'},{'name':'Steve'} } ]}, second race same format...] 正

我正在为我当地的跑步俱乐部创建一个网站。 每次有人参加比赛时,它都会被输入数据库(MySQL)。 目前,我希望获取包含以下结构的json数组:

[{'race':'race1','date':'01/01/2015','distance':
   [{'5k':[{'name': 'John'}, {'name':'Brad'}],
    {'10K':[{'name':'Marc'},{'name':'Steve'}
 }
]},
second race same format...]

正如你可能注意到的那样,每一场比赛都有多个赛程,每个赛程都有自己的选手。有没有一种简单的方法可以创建这样一个3d数组来转换为json数组?或者我需要习惯性地填充行吗

是的,您可以在php中从3D数组创建JSON。 以下是3D阵列的一个示例:

$races = array(
    array(
        'race' => 'race1',
        'date' => '01/01/2015',
        'distance' => array(
            '5k' => array(
                array('name' => 'John'),
                array('name' => 'Brad')
            ),
            '10k' => array(
                array('name' => 'Marc'),
                array('name' => 'Steve')
            )
        )
    ),
    array(
        'race' => 'race2',
        'date' => '01/02/2015',
        'distance' => array(
            '5k' => array(
                array('name' => 'John'),
                array('name' => 'Brad')
            ),
            '10k' => array(
                array('name' => 'Marc'),
                array('name' => 'Steve')
            )
        )
    )
);
然后将其编码为JSON,如下所示:

$json = json_encode($races);
没有所谓的“json数组”。json只是javascript数据结构的文本编码。您可以在php中创建所需的任何数组,并对其进行json_编码。另一方面,它将解码为客户端代码使用的任何内容的本机结构(例如javascript结构)。