将所有相同的值分组在数组中

时间:2017-12-22 09:16:41

标签: php mysql arrays

我有一个查询,我想用于两个不同的目的,而不是两次添加查询。

数组包含属于类别的材料。

我使用以下查询获取它们:

SELECT cnt.title as content_title,
cnt.alias as content_alias,
cnt.id as content_id,
cnt.catid, 
cnt.introtext,
cnt.images,
cat.id as cat_id,
cat.parent_id, 
cat.title as cat_title,
cat.alias as cat_alias
FROM snm_content cnt
INNER JOIN snm_categories cat
ON cnt.catid = cat.id
WHERE cat.parent_id = 15

首先,我有一个包含所有类别的下拉列表,并在其下面显示所有材料(因此用户可以在以后添加时过滤它们)。但是,通过此查询,它可以获取所有产品及其类别名称,因此在下拉列表中,所有类别都会多次显示,而不是仅显示一次。

我知道我可以在查询中对它们进行分组,但这意味着我必须添加第二个查询以显示下拉列表下方的所有产品。

所以我的问题: 如何对数组中的所有类别进行分组?

必须有一个简单的PHP函数。

1 个答案:

答案 0 :(得分:0)

您可以将它们分组。

例如

$pets = array('type' => 'dog', 'age' => 1, 'type'=>'cat', 'age' => 2);

您可以使用array_column对每列进行分组,以便:

var_dump(array_column($pets, 'type'));

农产品:

array('dog', 'cat');