博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongodb - 前端form表单传递数据,在保存和取出的数据格式处理函数 - 非递归
阅读量:4199 次
发布时间:2019-05-26

本文共 4771 字,大约阅读时间需要 15 分钟。

//处理时间部分,将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;			}

转载地址:http://bydli.baihongyu.com/

你可能感兴趣的文章
带你深入理解STL之Set和Map
查看>>
Redis源码剖析--源码结构解析
查看>>
Redis源码剖析--动态字符串SDS
查看>>
Redis源码剖析--双端链表Sdlist
查看>>
Redis源码剖析--字典dict
查看>>
Redis源码剖析--跳跃表zskiplist
查看>>
Redis源码剖析--整数集合Intset
查看>>
Redis源码剖析--对象object
查看>>
Redis源码剖析--字符串t_string
查看>>
Redis源码剖析--快速列表quicklist
查看>>
Redis源码剖析--列表list
查看>>
Android开发学习 之 五、基本界面控件-4时间控件
查看>>
详细解读Jquery的$.get(),$.post(),$.ajax(),$.getJSON()用法
查看>>
同步与异步的区别
查看>>
IT行业--简历模板及就业秘籍
查看>>
JNI简介及实例
查看>>
DOM4J使用教程
查看>>
JAVA实现文件树
查看>>
Drools 规则引擎
查看>>
OLTP和OLAP区别
查看>>