Пример #1
0
function recursive_add($tree, $id, $depth)
{
    foreach ($tree as $key => $value) {
        $new = $key;
        while (!is_numeric($new) || $new < 2) {
            $new = aaddNode(array('node_parent' => $id, 'node_name' => apostrof($key), 'node_content' => apostrof($key), 'template_id' => 2, 'node_system_access' => $depth > 1 ? 'public' : 'moderated', 'node_external_access' => 'yes'));
        }
        $tree[$new] = $tree[$key];
        unset($tree[$key]);
        //rename key to new
        $tree[$new] = recursive_add($tree[$new], $new, $depth + 1);
    }
    //foreach($tree as $key => $value) $tree[$key] = recursive_add($tree[$key],$key);
    return $tree;
}
Пример #2
0
function recursive_add($obj)
{
    $total = 0;
    foreach ($obj as $k => $v) {
        if (is_scalar($v)) {
            $total += $v;
            if ($v === "red" && is_assoc($obj)) {
                // part 2
                return 0;
            }
        } else {
            $total += recursive_add($obj[$k]);
        }
    }
    return $total;
}