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

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

$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 "

";

print_r($value);

echo "

";

}

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格式是否正确的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值