所以我有我的查询,它的返回结果正如预期的那样一切都很好,除了今天我的设计师在 Spanner 中通过。这似乎让我有点偏离游戏,也许是因为我太累了,谁知道呢……
我要创建一个 3 层阵列
主要类别、子类别(每个主要类别可以有多个),以及每个子类别的项目列表,可以是 1 到 100 个项目。
我试过 foreach、while、for 循环。通常都以 $final = array();
开头,然后是下面的循环。
尝试构建如下数组:
$final[$row['primary]][$row['sub']][] = $row['item]
$final[$row['primary]][$row['sub']] = $row['item]
我尝试将它们定义为各自的数组以在其上使用 array_push()
。以及其他各种策略,我都失败了。我需要一个头脑清醒的人来帮助我。从哪种类型的循环最适合我的需要到我如何构建我的阵列以按计划构建。
期望的结果是
array(
primary = array
(
sub = array
(
itemA,
itemB,
itemC
),
sub = array
(
itemA,
itemB,
itemC
),
),
primary = array
(
sub = array
(
itemA,
itemB,
itemC
),
sub = array
(
itemA,
itemB,
itemC
),
),
)
最佳答案
在处理您的请求时会出现这样的情况:
if (!array_key_exists($row['primary'], $final)) {
$final[$row['primary']] = array();
}
if (!array_key_exists($row['sub'], $final[$row['primary']])) {
$final[$row['primary']][$row['sub']] = array();
}
$final[$row['primary']][$row['sub']][] = $row['item'];
关于PHP MySQL 构建一个 3 层多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12339574/