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(); }
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); }