【PHP】判断字符串是否是json类型,并判断是否是有效数组

要在 PHP 中判断给定的字符串是否是 JSON,可以使用 json_decode() 函数和检查返回值的类型。以下是一个示例,展示了如何判断给定的字符串是否是 JSON,以及如何判断它是数组还是字符串:

php 复制代码
<?php

function isJson($string)
{
    json_decode($string);
    return (json_last_error() == JSON_ERROR_NONE);
}

$jsonString1 = '{"name": "John", "age": 30, "city": "New York"}';
$jsonString2 = '["apple", "orange", "banana"]';
$notJsonString1 = 'This is not a JSON string';
$notJsonString2 = '"This is a JSON string, but it is a string, not an object or array"';

// 测试 JSON 字符串
var_dump(isJson($jsonString1)); // 输出:bool(true)
var_dump(isJson($jsonString2)); // 输出:bool(true)

// 测试非 JSON 字符串
var_dump(isJson($notJsonString1)); // 输出:bool(false)
var_dump(isJson($notJsonString2)); // 输出:bool(false)

// 判断 JSON 字符串是数组还是字符串
$decoded1 = json_decode($jsonString1, true);
$decoded2 = json_decode($jsonString2, true);

if (is_array($decoded1)) {
    echo "The first JSON string is an array.\n";
} else {
    echo "The first JSON string not is an array.\n";
}

if (is_array($decoded2)) {
   echo "The second JSON string is an array.\n";
} else {
    echo "The second JSON string not is an array.\n";
}
?>

在这个示例中,我们定义了一个名为 isJson() 的函数,用于检查给定的字符串是否是 JSON。然后,我们使用 json_decode() 函数解码 JSON 字符串,并使用 is_array() 函数检查解码后的值的类型。如果解码后的值是数组,则 JSON 字符串是数组。

相关推荐
用户92724725021910 小时前
PHP+JS+CSS+JSON 单页新闻系统实现方案
php
Ashlee_code12 小时前
什么是Web3?金融解决方案
开发语言·金融·架构·eclipse·web3·区块链·php
Sally璐璐17 小时前
IPSAN 共享存储详解:架构、优化与落地实践指南
开发语言·php
程序猿阿伟19 小时前
《声音的变形记:Web Audio API的实时特效法则》
开发语言·前端·php
Clownseven20 小时前
Shell 脚本实战指南:内网 ARP 洪泛监控与飞书/邮件自动告警
网络·php·飞书
浪裡遊1 天前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
百锦再1 天前
.Net配置文件appsetting.json的几种读取方法
chrome·json·.net·依赖注入·appsetting·web.config
ejinxian2 天前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php
zorro_z2 天前
PHP语法基础篇(九):正则表达式
php
高压锅_12202 天前
思科与华为网络设备命令对比指南:从基础操作到高级配置
服务器·华为·php