首页 > 代码库 > mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归
mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归
//处理时间部分,将ISODate("2014-10-09T18: 37: 50.0Z") 转换成 2014-10-09 18:37:50这种格式 //最多处理6层树形结构数据,当多维数组中的key,包含数组$product_date_col中的任意一个字符,那么就会被处理。 public static function processMongoGetDate($product){ foreach($product as $k1=>$v1){ if(!is_array($v1)&& !is_object($v1)){ }else{ //if(self::contentDate($k1,$product_date_col)){ if($v1->sec){ $v1 = date('Y-m-d H:i:s', $v1->sec); } $product[$k1] = $v1; //} foreach($v1 as $k2=>$v2){ if(!is_array($v2)&& !is_object($v2)){ }else{ //if(self::contentDate($k2,$product_date_col)){ if($v2->sec){ $v2 = date('Y-m-d H:i:s', $v2->sec); } $product[$k1][$k2] = $v2; //} foreach($v2 as $k3=>$v3){ if(!is_array($v3)&& !is_object($v3)){ }else{ //if(self::contentDate($k3,$product_date_col)){ if($v3->sec){ $v3 = date('Y-m-d H:i:s', $v3->sec); } $product[$k1][$k2][$k3] = $v3; //} foreach($v3 as $k4=>$v4){ if(!is_array($v4)&& !is_object($v4)){ }else{ //if(self::contentDate($k4,$product_date_col)){ if($v4->sec){ $v4 = date('Y-m-d H:i:s', $v4->sec); } $product[$k1][$k2][$k3][$k4] = $v4; //} foreach($v4 as $k5=>$v5){ if(!is_array($v5)&& !is_object($v5)){ }else{ //if(self::contentDate($k5,$product_date_col)){ if($v5->sec){ $v5 = date('Y-m-d H:i:s', $v5->sec); } $product[$k1][$k2][$k3][$k4][$k5] = $v5; //} foreach($v5 as $k6=>$v6){ if(!is_array($v6)&& !is_object($v6)){ }else{ //if(self::contentDate($k6,$product_date_col)){ if($v6->sec){ $v6 = date('Y-m-d H:i:s', $v6->sec); } $product[$k1][$k2][$k3][$k4][$k5][$k6] = $v6; //} } } } } } } } } } } } } return $product; } /* 作用:前端form传递过来的数据,无论保存,还是查询,都需要转化成mongo的格式 * 处理:处理的为,1.数字字符串转换成float类型,2.日期使用\MongoDate()转换成mongo格式的日期。 * 结果:此函数仅仅是转换 字段类型。最多为6层树形结构表。 */ public static function processMongoSetData($data,$float_array){ //?gte ?lte $product = object_to_array($data); $productfloat = $float_array; foreach($product as $k1=>$v1){ if(!is_array($v1)&& !is_object($v1)){ if(in_array($k1,$productfloat)){ if(is_numeric($v1)){ $v1 = floatval($v1); $product[$k1] = $v1; } } if(is_time($v1)){ $product[$k1] = new \MongoDate(strtotime($v1)); } }else{ foreach($v1 as $k2=>$v2){ if(!is_array($v2)&& !is_object($v2)){ if(in_array($k2,$productfloat)){ if(is_numeric($v2)){ $v2 = floatval($v2); $product[$k1][$k2] = $v2; } } if(is_time($v2)){ $product[$k1][$k2] = new \MongoDate(strtotime($v2)); } }else{ foreach($v2 as $k3=>$v3){ if(!is_array($v3)&& !is_object($v3)){ if(in_array($k3,$productfloat)){ if(is_numeric($v3)){ $v3 = floatval($v3); $product[$k1][$k2][$k3] = $v3; } } if(is_time($v3)){ $product[$k1][$k2][$k3] = new \MongoDate(strtotime($v3)); } }else{ foreach($v3 as $k4=>$v4){ if(!is_array($v4)&& !is_object($v4)){ if(in_array($k4,$productfloat)){ if(is_numeric($v4)){ $v4 = floatval($v4); $product[$k1][$k2][$k3][$k4] = $v4; } } if(is_time($v4)){ $product[$k1][$k2][$k3][$k4] = new \MongoDate(strtotime($v4)); } }else{ foreach($v4 as $k5=>$v5){ if(!is_array($v5)&& !is_object($v5)){ if(in_array($k5,$productfloat)){ if(is_numeric($v5)){ $v5 = floatval($v5); $product[$k1][$k2][$k3][$k4][$k5] = $v5; } } if(is_time($v5)){ $product[$k1][$k2][$k3][$k4][$k5] = new \MongoDate(strtotime($v5)); } }else{ foreach($v5 as $k6=>$v6){ if(!is_array($v6)&& !is_object($v6)){ if(in_array($k6,$productfloat)){ if(is_numeric($v6)){ $v6 = floatval($v6); $product[$k1][$k2][$k3][$k4][$k5][$k6] = $v6; } } if(is_time($v6)){ $product[$k1][$k2][$k3][$k4][$k5][$k6] = new \MongoDate(strtotime($v6)); } }else{ } } } } } } } } } } } } return $product; }
mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。