我有一个如下所示的数组:
BLOCO - BIFOCAL
BLOCO - MULTIFOCAL
MATERIAL - CRISTAL INCOLOR
MATERIAL - CRISTAL FOTOCROMATICO
MATERIAL - RESINA
MATERIAL - POLICARBONATO
MATERIAL - TRIVEX
TRATAMENTOS - INCOLOR
TRATAMENTOS - ANTI RISCO
TRATAMENTOS - ANTI REFLEXO
我需要将BLOCO,MATERIAL和TRATAMENTOS分组,将来可能会有其他人。
提前感谢您的帮助。
更新
Array ( [0] => MaterialVO Object ( [NOME_PROPRIEDADE] => BLOCO [VALOR] => VISAO SIMPLES ) [1] => MaterialVO Object ( [NOME_PROPRIEDADE] => BLOCO [VALOR] => BIFOCAL ) [2] => MaterialVO Object ( [NOME_PROPRIEDADE] => BLOCO [VALOR] => MULTIFOCAL ) [3] => MaterialVO Object ( [NOME_PROPRIEDADE] => MATERIAL [VALOR] => CRISTAL INCOLOR ) [4] => MaterialVO Object ( [NOME_PROPRIEDADE] => MATERIAL [VALOR] => CRISTAL FOTOCROMATICO ) [5] => MaterialVO Object ( [NOME_PROPRIEDADE] => MATERIAL [VALOR] => RESINA ) [6] => MaterialVO Object ( [NOME_PROPRIEDADE] => MATERIAL [VALOR] => POLICARBONATO ) [7] => MaterialVO Object ( [NOME_PROPRIEDADE] => MATERIAL [VALOR] => TRIVEX ) [8] => MaterialVO Object ( [NOME_PROPRIEDADE] => TRATAMENTOS [VALOR] => INCOLOR ) [9] => MaterialVO Object ( [NOME_PROPRIEDADE] => TRATAMENTOS [VALOR] => ANTI RISCO ) [10] => MaterialVO Object ( [NOME_PROPRIEDADE] => TRATAMENTOS [VALOR] => ANTI REFLEXO ) ) 1
答案 0 :(得分:0)
您可以将左侧用作数组键,例如
$new_arr = array();
$arr = ...
foreach ($arr as $val)
{
$tmp = explode(' - ', $val); // assuming " - " is exist in all
if (empty($new_arr[$tmp[0]])
{
$new_arr[$tmp[0]] = array();
}
$new_arr[$tmp[0]][] = $tmp[1];
}
// to get all groups
array_keys($new_arr);
// to get each element under the group
/* which is another loop */