Example #1
0
function virtual_array($r, $o)
{
    $ret = array();
    foreach ($r as $k => $v) {
        $do[$v[$o]][] = $v[0];
    }
    foreach ($do as $k => $v) {
        $rb = explode('/', $k);
        $n = count($rb) - 1;
        $n = $o == 0 ? $n - 1 : $n;
        $rc = $v;
        for ($i = $n; $i >= 0; $i--) {
            $rd = $rc;
            $rc = '';
            $rc[$rb[$i]] = $rd;
        }
        $ret = array_add_r($ret, $rc);
    }
    return $ret;
}
Example #2
0
File: lib.php Project: philum/cms
function array_add_r($ra, $rb)
{
    foreach ($rb as $k => $v) {
        if (is_array($v)) {
            $ra[$k] = array_add_r($ra[$k], $v);
        } else {
            $ra[] = $v;
        }
    }
    return $ra;
}