/** * 向上生成tree */ static function parentTree($data = array(), $parent = null, $root = 0, $value = 'name', $id = 'id', $pid = 'pid') { self::$_j = 0; if (self::$_j == 0) { self::$_ptree = array(); } foreach ($data as $v) { $out[$v->{$id}] = $v->{$value}; } foreach ($data as $v) { if ($v->{$id} == $parent && $v->{$pid} != $root) { self::$_j++; self::parentTree($data, $v->{$pid}, $root, $value, $id, $pid); } } self::$_ptree[$parent] = $out[$parent]; return self::$_ptree; }