//处理时间段,将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. 浅谈BFC与应用

    什么是BFC BFC(Block formatting context)的中文翻译我们一般叫做块级格式化上下文.它是一个独立渲染的区域,规定了内部如何布局,同时不受外界的影响.我们的根元素本身就是一个 ...

  2. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  3. perl 继承小例子

    <pre name="code" class="html"><pre name="code" class="ht ...

  4. php等号(==)与全等(===)

    <?php require_once 'Person.php'; header("content-type:text/html;charset=utf-8"); $perso ...

  5. MSSQL - 用GUID值来完成数据表行标识

    地址:http://www.cnblogs.com/huangfr/archive/2012/03/28/2420780.html [Guid] [uniqueidentifier] NOT NULL ...

  6. robotframework ride 版本兼容问题

    在安装robotFramework ride的时候,必须需要使用wxpython 目前使用的wxpython 还必须是unicode 版本的要不然不支持中文 目前使用的 wx.version.2.8. ...

  7. Hacker News网站的文章排名算法工作原理

    In this post I'll try to explain how Hacker News ranking algorithm works and how you can reuse it in ...

  8. Perl入门(四)Perl的正則表達式

    正則表達式是Perl语言的特色.主要的语法不是非常难,可是编写一个符合需求.高效的正則表達式.还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正則表達式内容/; 作用:查找匹配内容中是 ...

  9. ASP.NET - 在线编辑器(KindEditor)

    效果: 项目结构: 前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...

  10. vscode编写插件

    vscode编写插件详细过程 前言 之前编写了一个vscode插件用vscode写博客和发布,然后有园友要求写一篇来介绍如何开发一个vscode扩展插件,或者说介绍开发这个插件的过程.然而文章还没有写 ...