PHP判断json格式是否正确的实现代码


Posted in PHP onSeptember 20, 2017

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<?php
$GLOBALS['count'] = 0;
//校验data或者content的json格式是否有错误
function data($value) {
  if (isset($value['data'])) {
    $value['data'] = json_decode($value['data'], true);
  } else if (isset($value['content'])) {
    $value['content'] = json_decode($value['content'], true);
  } else {
    die('必须要有content或者data字段');
  }
  $error = json_last_error();
  if (!empty($error)) {
    echo "<pre>";
    print_r($value);
    echo "</pre>";
  }
  return $value;
}
//校验静态资源是否存在;
function my_filter($value) {
  $needle = ['.jpg', '.jpeg', '.png', '.avi', '.mp4', '.wav', '.gif', '.mp3'];
  $root = 'D:/phpStudy/WWW/levelData/';
  foreach ($needle as $k => $v) {
    $aa = strpos($value, $v);
    if ($aa) {
      $file = $root . $value;
      if (!file_exists($file)) {
        $GLOBALS['count']++;
        return $value;
      }
    }
  }
}
//获取多维数组里面某一列的下标,并重新组成一维数组
function searchMultiArray(array $array, $search, $mode = 'key') {
  $res = array();
  foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $key => $value) {
    if ($search === ${${"mode"}}) {
      if ($mode == 'key') {
        $res[] = $value;
      } else {
        $res[] = $key;
      }
    }
  }
  return $res;
}
function my_filter_answer($value) {
  $needle = [',', '、', ' ', '.', ',,', ',,'];
  foreach ($needle as $k => $v) {
    $aa = strpos($value, $v);
    if ($aa) {
      return 1;
    }
  }
}
//将汉字,特殊字符原样变成json数据
function ch_json_encode($data) {
  $ret = ch_urlencode($data);
  $ret = json_encode($ret);
  return '\'' . addslashes(urldecode($ret)) . '\'';
}
//汉字,特殊字符变可读懂的字符串主程序
function ch_urlencode($data) {
  if (is_array($data) || is_object($data)) {
    foreach ($data as $k => $v) {
      if (is_scalar($v)) {
        if (is_array($data)) {
          $data[$k] = urlencode($v);
        } else if (is_object($data)) {
          $data->$k = urlencode($v);
        }
      } else if (is_array($data)) {
        $data[$k] = ch_urlencode($v); // 递归调用该函数
      } else if (is_object($data)) {
        $data->$k = ch_urlencode($v);
      }
    }
  }
  return $data;
}

总结

以上所述是小编给大家介绍的PHP判断json格式是否正确的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
基于python发送邮件的乱码问题的解决办法
Apr 25 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
codeigniter自带数据库类使用方法说明
Mar 25 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
编写PHP脚本来实现WordPress中评论分页的功能
Dec 10 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
php基于数组函数实现关联表的编辑操作示例
Jul 04 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
PHP遍历数组的6种方式总结
Nov 17 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 #PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 #PHP
PHP使用Nginx实现反向代理
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 #PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 #PHP
You might like
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
php创建无限级树型菜单
2015/11/05 PHP
基于jquery的模态div层弹出效果
2010/08/21 Javascript
基于jQuery的投票系统显示结果插件
2011/08/12 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
JS判断时间段的实现代码
2017/06/14 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
Node.js调用fs.renameSync报错(Error: EXDEV, cross-device link not permitted)
2017/12/27 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
windows下python之mysqldb模块安装方法
2017/09/07 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python实现微信打飞机游戏
2020/03/24 Python
python如何实现图片压缩
2020/09/11 Python
CSS3动画和HTML5新特性详解
2020/08/31 HTML / CSS
欧洲最大的品牌水上运动服装和设备在线零售商:Wuituit Outlet
2018/05/05 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
阿联酋最好的手机、电子产品和家用电器网上商店:Eros Digital Home
2020/08/09 全球购物
见习期自我鉴定
2013/11/07 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
树转促学习心得体会
2014/09/10 职场文书
先进党员事迹材料
2014/12/24 职场文书
三方协议书
2015/01/27 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
导游词幽默开场白
2019/06/26 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle