public static function formatSubPropertyNew($parentfid, $parentvname, $property, &$newProperty, &$showProperty) { $subProperty = Cate::getChildAttr($parentfid, $parentname); if (!is_array($subProperty)) { $subProperty = array(); } //循环得到相应的键值 子属性的值也有enum foreach ($subProperty as $suk => $suv) { $subvalue = array(); foreach ($property as $pk => $pv) { if ($pk == $suv['fid']) { $newKey = $suv['fname']; $newProperty[$newKey] = !empty($suv['unit']) ? $pv . $suv['unit'] : $pv; if ($suv['showtype'] == 1 || $suv['showtype'] == 3) { $showProperty[$newKey] = $newProperty[$newKey]; } elseif ($suv['showtype'] == 2) { $newProperty[$newKey] = implode(' ', $pv); } } } if ($suv['has_childattr'] == 1) { Cate::formatSubProperty($suv['parentfid'], $suv['parentvname'], $property, $newProperty, $showProperty); } } }