//处理时间段,将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表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归的更多相关文章

  1. 前端-form表单与CSS

    目录 form表单 表单属性 label标签 input标签 select 下拉框标签 textarea多行文本 提交 Flask 结合form表单 初探 CSS介绍以及基本选择器 基本选择器 组合选 ...

  2. 基于JQuery的前端form表单操作

    Jquery的前端表单操作:     jquery提供了良好的方法封装,在一些基本的操作的时候,能节省很多的麻烦,其中,在具体使用时,form表单的数据提交是最频繁也最常见的前后数据交换方式,所以在前 ...

  3. javaWeb 中前端Form表单数据处理(手动拼json)

    在前端我们会用到最多的就是form表单提交数据,在form表单中有很多都是自动将数据传到后台,然后通过实体来接受的,但是有的时候我们就是需要在前端就拿到这个Form表单的数据,这是我们就可以自己讲数据 ...

  4. 前端form表单与css

    form表单(******) 能够获取用户输入(输入,选择,上传的文件) 并且将用户输入的内容全部发送给后端 参数 action 控制数据提交的地址 三种书写方式 1.不写 默认就是朝当前这个页面所在 ...

  5. 【记录】解决前端form表单回车禁止刷新页面

    最近弄前端 有form表单的情况下 按回车会自动刷新当前页面. 现记录解决方案如下: 1.去掉表单 2.不要让表单中只有一个文本框(增加一个隐藏的文本框就行) 3.以上两点都不想使用,那么就还可以在表 ...

  6. Django 提交 form 表单(使用sqlite3保存数据)

    优化 提交 form 表单,https://www.cnblogs.com/klvchen/p/10608143.html 创建数据库的字段,在 models.py 中添加 from django.d ...

  7. SpringMVC中前端Form表单提交后跳转不过去的问题

    今天晚上打算谢谢Spring整合这个内容,写的差不多之后运行 出现了各种问题 逐一排查 首先有一个(MyEclipse10) 一: class path resource [spring-mvc.xm ...

  8. 关于解决form表单记录上次保存填写记录清空

    传进来的是一个HTML的Table的ID. function doReset(tableId){ var tbl_content = document.getElementById(tableId); ...

  9. django中使用form表单,数据库保存密码出现明文

随机推荐

  1. 关于for循环中i=0与i=arr.length容易被忽视的bug

    for循环中的这两种写法 for(var i=0,len=arr.length;i<len;i++){ } 上面这种是最为常见也是初学者经常写的 而下面这种写法,在性能上则是比上面的更好,然而我 ...

  2. Android学习之一:Cygwin简介

    为了能够一窥Android底层的东东,还是要搭建编译Android的环境.虽有Ubuntu和Suse系统,无奈总感觉在不同的系统下切来切去很是不便.在Windows工作学习,要编译Android,就不 ...

  3. Delphi 拖放文件编程(覆盖WM_DROPFILES消息)

    unit Unit1; interface usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  ...

  4. 1.0.2-学习Opencv与MFC混合编程之---为播放AVI视频添加滑动条

    源代码地址:http://download.csdn.net/detail/nuptboyzhb/3961642 版本1.0.2新增内容 Ø  全局变量和函数的添加: 在CVMFCview.cpp文件 ...

  5. [置顶] java Gui 键盘监听事件

    简单写一个java Gui键盘监听事件,实现的效果就是按下键盘控制台输出你按下的键.比如:按下A控制台就输出A 效果如图: 以下把实现的效果分为几个步骤: 1.新建一个窗体类继承窗体: 2.给这个窗体 ...

  6. XDU 1284 寻找礼物

    枚举+二分查找. A+B+C >= K  ---->   C >= K - A -B    ----> 统计大于等于C的个数就可以. #include <cstdio&g ...

  7. 浅析java的浅拷贝和深拷贝

    Java中任何实现了Cloneable接口的类都可以通过调用clone()方法来复制一份自身然后传给调用者.一般而言,clone()方法满足:       (1) 对任何的对象x,都有x.clone( ...

  8. 基于visual Studio2013解决面试题之0308Fibonacci数列

     题目

  9. eclipse3.2 汉化 汉化包下载

    1.首先去www.eclipse.org下载eclipse3.2   点击下载eclipse3.2 2.再去www.eclipse.org下载它的汉化包   请使用迅雷等下载工具下载汉化包 注意不同版 ...

  10. 2006 ACM Northwestern European Programming Contest C题(二分求最大)

    My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a numberN o ...