在PHP中创建动态数组键结构
我将文档存储在服务器上,它们的信息(如标题、文件路径、日期、类别等)存储在数据库中。我的目标是能够将文档按类别分组在一起。文档的类别以字符串形式存储在数据库中,如在PHP中创建动态数组键结构,php,arrays,Php,Arrays,我将文档存储在服务器上,它们的信息(如标题、文件路径、日期、类别等)存储在数据库中。我的目标是能够将文档按类别分组在一起。文档的类别以字符串形式存储在数据库中,如“COVID-19 | Guidence | Mortury Affairs”,我想将其转换为如下数组: [ "COVID-19" => [ "Guidance"=> [ "Mortuary Affairs" => [
“COVID-19 | Guidence | Mortury Affairs”
,我想将其转换为如下数组:
[
"COVID-19" => [
"Guidance"=> [
"Mortuary Affairs" => [
// Where the document info will be
]
]
]
]
[
"COVID-19",
"Guidance",
"Mortuary Affairs"
]
第一步是在文档中循环,并用
分隔符分解每个类别:
foreach($all_documents as $document)
{
$categories = array_map('trim', explode('|', $document['category']));
}
这样做的结果如下:
[
"COVID-19" => [
"Guidance"=> [
"Mortuary Affairs" => [
// Where the document info will be
]
]
]
]
[
"COVID-19",
"Guidance",
"Mortuary Affairs"
]
然后如何将该数组转换为顶部显示的嵌套数组?创建带有类别的数组后,您可以迭代这些类别并使用节点引用“深入”结果对象--创建任何缺少的属性,然后引用它们。最后,将文档附加到最深节点的数组中(这样多个文档可以在同一个位置结束): 最后,
$result
将具有所需的层次结构。另请参见