PHP判斷json格式是否正確的實(shí)現(xiàn)代碼
廢話不多說(shuō)了,直接給大家貼代碼了,具體代碼如下所示:
<?php
$GLOBALS['count'] = 0;
//校驗(yàn)data或者content的json格式是否有錯(cuò)誤
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;
}
//校驗(yàn)靜態(tài)資源是否存在;
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;
}
}
}
}
//獲取多維數(shù)組里面某一列的下標(biāo),并重新組成一維數(shù)組
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數(shù)據(jù)
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); // 遞歸調(diào)用該函數(shù)
} else if (is_object($data)) {
$data->$k = ch_urlencode($v);
}
}
}
return $data;
}
總結(jié)
以上所述是小編給大家介紹的PHP判斷json格式是否正確的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- PHP的serialize序列化數(shù)據(jù)以及JSON格式化數(shù)據(jù)分析
- PHP生成json和xml類(lèi)型接口數(shù)據(jù)格式
- PHP JSON格式的中文顯示問(wèn)題解決方法
- PHP中把數(shù)據(jù)庫(kù)查詢(xún)結(jié)果輸出為json格式簡(jiǎn)單實(shí)例
- php數(shù)組轉(zhuǎn)成json格式的方法
- PHP中使用json數(shù)據(jù)格式定義字面量對(duì)象的方法
- php判斷是否為json格式的方法
- 解析PHP 使用curl提交json格式數(shù)據(jù)
- PHP數(shù)據(jù)集構(gòu)建JSON格式及新數(shù)組的方法
相關(guān)文章
PHP中如何使用session實(shí)現(xiàn)保存用戶(hù)登錄信息
這篇文章主要給大家介紹在php中是如何使用session實(shí)現(xiàn)保存用戶(hù)登錄信息的,涉及到php session 用戶(hù)登錄等一些知識(shí)點(diǎn),使用session保存用戶(hù)登錄信息要比cookie安全很多。感興趣的朋友一起學(xué)習(xí)吧2015-10-10
php反序列化長(zhǎng)度變化尾部字符串逃逸(0CTF-2016-piapiapia)
這篇文章主要介紹了0CTF-2016-piapiapia(php反序列化長(zhǎng)度變化尾部字符串逃逸),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁(yè)操作示例
這篇文章主要介紹了ThinkPHP5&5.1框架關(guān)聯(lián)模型分頁(yè)操作,結(jié)合實(shí)例形式分析了thinkPHP5、5.1關(guān)聯(lián)模型的建立、控制器、模型的實(shí)現(xiàn)及分頁(yè)操作相關(guān)技巧,需要的朋友可以參考下2019-08-08
VB中的RasEnumConnections函數(shù)返回632錯(cuò)誤解決方法
這篇文章主要介紹了VB中的RasEnumConnections函數(shù)返回632錯(cuò)誤解決方法,使用MSDN中的例子在XP SP3系統(tǒng)上出現(xiàn)的錯(cuò)誤,需要的朋友可以參考下2014-07-07
php 判斷字符串編碼是utf-8 或gb2312實(shí)例
這篇文章主要介紹了php 判斷字符串編碼是utf-8 或gb2312實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-11-11
laravel框架實(shí)現(xiàn)敏感詞匯過(guò)濾功能示例
這篇文章主要介紹了laravel框架實(shí)現(xiàn)敏感詞匯過(guò)濾功能,結(jié)合實(shí)例形式分析了laravel框架通過(guò)擴(kuò)展php-dfa-sensitive實(shí)現(xiàn)敏感詞過(guò)濾的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02

