我在处理多维数组数据时遇到问题。我加入了 2 个表(主要类别和类别)。
表 Maincategories: id, maincategory
表类别: id、maincategory_id、类别
$this->db->select('m.id, m.name_en AS maincategory')
->select('c.name_en AS category')
->from('categories AS c')
->join('maincategories AS m', 'c.maincategory_id=m.id', 'left');
$query = $this->db->get();
这导致所有 4 个类别都列出如下。
[3] => stdClass Object
(
[id] => 7
[maincategory] => Career
[category] => Business Sales
)
[4] => stdClass Object
(
[id] => 1
[maincategory] => Accommodation
[category] => Camping
)
[5] => stdClass Object
(
[id] => 6
[maincategory] => Accommodation
[category] => Hostels
)
[6] => stdClass Object
(
[id] => 7
[maincategory] => Career
[category] => Career Events
)
列表中有 4 个独特的类别,其中2个属于maincategory:Accommodaton,另外2 个类别属于maincategory:Career。我想要实现的是每个 maincategory 仅列出一次,并且类别应属于该 main_category。像这样的东西:
[6] => stdClass Object
(
[id] => 7
[maincategory] => Career
[category] => array(Career Events, Business Sales, .....)
)
[7] => stdClass Object
(
[id] => 7
[maincategory] => Accommodation
[category] => array(Hostels, Camping, .....)
)
数组转储的最终结果可能/可能看起来不同,但我希望你理解我想要实现的目标。我读了很多关于转换多维数组的内容。我只是无法理解它。非常感谢任何方向!