本文整理匯總了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;
}