//处理时间段,将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. Storm流计算从入门到精通之技术篇(高并发策略、批处理事务、Trident精解、运维监控、企业场景)

    1.Storm全面.系统.深入讲解,采用最新的稳定版本Storm 0.9.0.1 :   2.注重实践,对较抽象难懂的技术点如Grouping策略.并发度及线程安全.批处理事务.DRPC.Storm ...

  2. C++学习笔记14,private/protected/public继承,私有继承,保护继承,公有继承(五)(总结)

    各种继承方式: 特征 公有继承 保护继承 私有继承 公有成员变为 派生类的公有成员 派生类的保护成员 派生类的私有成员 保护成员变为 派生类的保护成员 派生类的保护成员 派生类的私有成员 私有成员变为 ...

  3. css3圆角代码

    div+css3普通圆角代码示例 <style type="text/css"> #round { width:200px; height:100px; margin: ...

  4. TMemoryStream、String与OleVariant互转

    //////////////////////////////////////////////////////////////////////////////////功能: STRING 的内容流化到 ...

  5. php运行

    运行命令: $php 1.php php教程: http://www.w3school.com.cn/php/php_variables.asp

  6. 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&amp;记忆化递归

    HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...

  7. ListView数据动态刷新

    在Android开发中用到ListView时,经常遇到要更改ListView内容的情形,比如删除或增加ListView中显示的条目,这里给大家提供一下思路:不论ListView要显示的对象是什么(如: ...

  8. RotateDisp – 一键旋转显示画面 - 小众软件

    RotateDisp – 一键旋转显示画面 - 小众软件 RotateDisp – 一键旋转显示画面

  9. 模仿《百度音乐HD》添加到下载框动画

    上次听有人说喜欢<百度音乐HD>添加到下载动画 ,我就尝试模仿了下,没想到,今天code4app(地址)也有了这个,但是 这个动画基本相同,我们的思路还是部一样的. 都可以参考 .主要关键 ...

  10. 基于飞思卡尔i.MX 6Quad Sabrelite开发板的触摸屏调试

    1      概述 本次任务是在飞思卡尔i.MX 6Quqd Sabrelite开发板上调试触屏驱动,触屏芯片是Goodix的gt828芯片,触屏接口是I2C. 操作系统:android 4.0.4 ...