我早些时候试图问这个问题,但没有提供足够的信息。。。
我正在从数据库中提取信息。我拉的每一行看起来都是这样,
{"group":"admin","center":"equipment","section":"bucket","tab":"overview"}
我需要以下信息,"中心"、"部分"answers"选项卡"。
目前,我使用"array_push"来创建一个包含此信息的数组。代码看起来像这样,
for ($y=0;$y<count($infos);$y++){
$templist = array();
array_push($templist, $infos[$y]['center']);
array_push($templist, $infos[$y]['section']);
array_push($templist, $infos[$y]['tab']);
array_push($tempmasterlist, $templist);
并在使用json_encode()时显示此信息
[["center1","section1","tab1"],["center2","section1","overview"],["center1","section1","tab2"]]
我需要生成的json看起来像这样,
{"center1":["section1",["tab1", "tab2"]],"center2":["section1",["tab3"]]}
基本上,我想对这些进行适当的动态分组,这样就可以很容易地检索它们。一个中心可以有多个剖面,一个剖面可以有多个子选项卡。根据用户的不同,可以有多个中心、部分或选项卡,因此我无法硬编码任何内容。
任何帮助都将不胜感激,我已经用for循环和if语句疯狂了几个小时。。。
您不需要array_push
。您只需使用结果行中的相应列作为$tempmasterlist
中的键即可。
foreach ($infos as $row) {
$tempmasterlist[$row['center']][$row['section']][] = $row['tab'];
}