本文整理汇总了PHP中grade_tree::inject_fillers方法的典型用法代码示例。如果您正苦于以下问题:PHP grade_tree::inject_fillers方法的具体用法?PHP grade_tree::inject_fillers怎么用?PHP grade_tree::inject_fillers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类grade_tree
的用法示例。
在下文中一共展示了grade_tree::inject_fillers方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: inject_fillers
/**
* Static recursive helper - makes full tree (all leafes are at the same level)
*
* @param array &$element The seed of the recursion
* @param int $depth How deep are we?
*
* @return int
*/
public function inject_fillers(&$element, $depth)
{
$depth++;
if (empty($element['children'])) {
return $depth;
}
$chdepths = array();
$chids = array_keys($element['children']);
$last_child = end($chids);
$first_child = reset($chids);
foreach ($chids as $chid) {
$chdepths[$chid] = grade_tree::inject_fillers($element['children'][$chid], $depth);
}
arsort($chdepths);
$maxdepth = reset($chdepths);
foreach ($chdepths as $chid => $chd) {
if ($chd == $maxdepth) {
continue;
}
for ($i = 0; $i < $maxdepth - $chd; $i++) {
if ($chid == $first_child) {
$type = 'fillerfirst';
} else {
if ($chid == $last_child) {
$type = 'fillerlast';
} else {
$type = 'filler';
}
}
$oldchild =& $element['children'][$chid];
$element['children'][$chid] = array('object' => 'filler', 'type' => $type, 'eid' => '', 'depth' => $element['object']->depth, 'children' => array($oldchild));
}
}
return $maxdepth;
}