我试图提前提出这个问题,但没有提供足够的信息......
我从数据库中提取信息。我拉的每一行都是这样的,
{"group":"admin","center":"equipment","section":"bucket","tab":"overview"}
我需要以下信息,“中心”,“部分”和“标签”。
目前,我使用“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语句几个小时......
答案 0 :(得分:2)
您不需要array_push
。您可以使用结果行中的相应列作为$tempmasterlist
中的键。
foreach ($infos as $row) {
$tempmasterlist[$row['center']][$row['section']][] = $row['tab'];
}