【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 字符串是数组。

相关推荐
CV工程师丁Sir3 分钟前
ArkWeb 手记 06|window.open 与页面跳转拦截
开发语言·php·harmonyos
可乐鸡翅yeah_18 分钟前
HLS 业务 Referer‑Policy 网页元标签引发播放异常排错
前端·javascript·网络·ffmpeg·php·音视频
vipxieliang26 分钟前
PHP 依赖注入容器从零实现:控制反转、手动注入与容器管理全解析
后端·php
运维行者_34 分钟前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
运维·服务器·开发语言·网络·支持向量机·php·接口隔离原则
Do_It_Today1 小时前
php xml 入门学习资料
开发语言·php
Do_It_Today2 小时前
php url路由入门实例
开发语言·php
fundoit3 小时前
资源服务器如何对 JWT 进行验签
java·运维·服务器·spring boot·php·oauth2
专业程序开发源3 小时前
SSM笔记本在线销售系统32649-计算机课程设计、毕业设计
java·spring boot·后端·python·django·php·课程设计
行业研究员3 小时前
AI反电诈怎么做?腾讯云天御风控Agent方案与落地解析
人工智能·php·腾讯云·ai反诈