Exemplo n.º 1
0
function __marshal2fruc($phpval)
{
    if (is_bool($phpval)) {
        return F_TrueClass::__from_bool($phpval);
    }
    if (is_numeric($phpval) && !is_string($phpval)) {
        return F_Number::__from_number($phpval);
    }
    if (is_string($phpval)) {
        return F_String::__from_string($phpval);
    }
    if (is_object($phpval)) {
        return F_PHPObject::__from_object($phpval);
    }
    if (is_array($phpval)) {
        // determine if assoc or numeric
        $isAssoc = FALSE;
        foreach (array_keys($phpval) as $k) {
            if (!is_numeric($k)) {
                $isAssoc = TRUE;
                break;
            }
        }
        if (!$isAssoc) {
            return F_Array::__from_array(array_map('__marshal2fruc', $phpval));
        }
        foreach ($phpval as $k => $v) {
            $newarr[] = __marshal2fruc($k);
            $newarr[] = __marshal2fruc($v);
        }
        return F_Hash::__from_flatpairs($newarr);
    }
    return new F_NilClass();
}
Exemplo n.º 2
0
 public function F_stat($block)
 {
     if ($this->__CLOSED) {
         throw new ErrorCarrier(F_IOError::SF_new(NULL, F_String::__from_string("File closed")));
     }
     $stats = array();
     foreach (fstat($this->__HANDLE) as $k => $v) {
         $stats[] = F_Symbol::__from_string($k);
         $stats[] = F_Number::__from_number($v);
     }
     return F_Hash::__from_flatpairs($stats);
 }