예제 #1
0
파일: phpcall.php 프로젝트: rzhw/Fructose
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();
}
예제 #2
0
파일: http.php 프로젝트: rzhw/frucnatra
function set_sgs($arr)
{
    foreach ($arr as $sg => $superglobal) {
        global $http_reqarrs;
        global $_globals;
        $pairs = array();
        foreach ($superglobal as $k => $v) {
            if (is_array($v)) {
                $val = array();
                foreach ($v as $_k => $_v) {
                    $str = F_String::__from_string($_v);
                    $str->F_taint(NULL);
                    $val[] = F_Array::__from_array(array(F_Symbol::__from_string($_k), $str));
                }
            } else {
                $val = F_String::__from_string($v);
                $val->F_taint(NULL);
            }
            $pairs[] = F_Array::__from_array(array(F_Symbol::__from_string($k), $val));
        }
        $_globals['F_' . $sg] = F_Hash::__from_pairs($pairs);
    }
}
예제 #3
0
 public function F_split($block, $pattern)
 {
     $parts = explode($pattern->F_to_s(NULL)->__STRING, $this->__STRING);
     $arr = array();
     foreach ($parts as $part) {
         $arr[] = F_String::__from_string($part, $this->_tainted);
     }
     return F_Array::__from_array($arr);
 }
예제 #4
0
파일: pdo.php 프로젝트: rzhw/Fructose
 public function F_to_a($block)
 {
     $array = array();
     while ($row = $this->__STMT->fetch(PDO::FETCH_BOTH)) {
         $array[] = F_PDOResultRow::__from_row($row);
     }
     return F_Array::__from_array($array);
 }