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 相关文章推荐
分页显示Oracle数据库记录的类之二
Oct 09 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
PHP自动重命名文件实现方法
Nov 04 PHP
PHP生成条形图的方法
Dec 10 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 PHP
CodeIgniter框架基本增删改查操作示例
Mar 23 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
Apr 18 PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 PHP
搜索附近的人PHP实现代码
Feb 11 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 #PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 #PHP
弹出模态框modal的实现方法及实例
Sep 19 #PHP
PHP 进度条函数的简单实例
Sep 19 #PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 #PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 #PHP
yii2.0整合阿里云oss的示例代码
Sep 19 #PHP
You might like
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
js导入导出excel(实例代码)
2013/11/25 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
AngularJS 依赖注入详解和简单实例
2016/07/28 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
vue element-ul实现展开和收起功能的实例代码
2020/11/25 Vue.js
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
Python中实现对list做减法操作介绍
2015/01/09 Python
利用Python演示数型数据结构的教程
2015/04/03 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
以太网Ethernet IEEE802.3
2013/08/05 面试题
一些Unix笔试题和面试题
2012/09/25 面试题
新闻学专业个人求职信写作
2014/02/04 职场文书
对公司合理化的建议书
2014/03/12 职场文书
赔偿协议书范本
2014/04/15 职场文书
敬老院活动总结
2014/04/28 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技