创建嵌套的PHP数组我有一个PHP数组如下如何从简单的多维数组
Array
(
[1] => Array
(
[id] => 1
[name] => Main Category
[parent_id] => null
)
[2] => Array
(
[id] => 2
[name] => sub category
[parent_id] => 1
)
[3] => Array
(
[id] => 3
[name] => child category
[parent_id] => 2
)
[4] => Array
(
[id] => 4
[name] => Main category 1
[parent_id] => null
)
[5] => Array
(
[id] => 5
[name] => sub category 1
[parent_id] => 4
)
[6] => Array
(
[id] => 6
[name] => child category 1
[parent_id] => 5
)
)
,我想这个阵列下面使用PHP
$categories = array(
array(
'id' => 1,
'Name' => "Main Category",
'sub' => array(
id => 2,
'Name' => 'Sub Category',
'sub' => array(
'id' => 3,
'Name' => 'Child category',
'sub' => 'None',
)
)
),
array(
'id' => 4,
'Name' => "Main Category 1",
'sub' => array(
id => 5,
'Name' => 'Sub Category 1',
'sub' => array(
'id' => 6,
'Name' => 'Child category 1',
'sub' => 'None',
)
)
)
);
其实我有一个被转换为3级清单层次结构,看起来像这样
A 1 level
B 2 level under A
C 2 level under A
D level 3 under C
E 1 level
F 1 level
G 2 level under F
如果提供的信息不够丰富请在评论中问我任何问题。所以我给出的例子最终输出看起来如下
主要类别 子类别 孩子
主要类别1 子类2 子类3
这里是我试过了。
foreach ($categoryList as $key => $value) {
if ($value->getCategoryId()!=1) {
$category[$key]['id'] = $value->getCategoryId();
$category[$key]['name'] = $value->getName();
// $category[$key]['parent_id'] = $value->getParentCategoryIds();
$category[$key]['sub'] = $this->createSubCategoryArray($value->getCategoryId(), $categoryList);
}
}
public function createSubCategoryArray($parentCatId, $categoryList)
{
foreach ($categoryList as $key => $category) {
if($category->getCategoryId() == $parentCatId && $category->getCategoryId()!=1){
echo "string";
return array(
'id' => $category->getCategoryId(),
'name' => $category->getName(),
'sub' => $this->createSubCategoryArray($category->getCategoryId(), $categoryList)
);
}
}
}
到目前为止,你已经尝试过什么。发布你的尝试? –
我试过,如果我发送那些正在寻找答案的人,他们可能会混淆,所以没有发布,但如果你需要看看它,但这并不意味着你应该投票我的问题。我的问题有足够的信息来理解它,甚至我也举了一些例子。 –