You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何将JSON中的布尔类型vpn字段值正确写入本地文件

问题原因
  • 核心原因是PHP的布尔值字符串转换规则:布尔值true会被自动转换为字符串"1",布尔值false会被自动转换为空字符串"",你直接写入false时相当于写入空内容,所以看起来就像没有写入成功
  • 额外排查点:你在fopen前加了@错误屏蔽符,如果是文件路径错误、PHP进程没有目标目录写入权限导致fopen失败,你也看不到对应的报错提示,会误以为是值写入失败
解决方法

首先去掉fopen前的@符号,先确认文件可以正常打开,如果打开报错先修正目录权限或者文件路径。如果文件打开正常,把布尔值转换为可被正常写入的字符串格式再写入即可:
如果你需要写入true/false的文本状态,用三元运算符转换即可:

<?php
 $status = $details_3->security->vpn;
 // 布尔值转对应文本
 $writeContent = $status ? 'true' : 'false';
 
 $fp = fopen('data.html', "a");

if (!$fp) {
    echo 'error';
}
else
{
    fwrite($fp, $writeContent);
    fwrite($fp, "\r\n");
    fclose($fp);
}
?>

如果你需要写入1/0的数字状态,直接强转为int类型即可:

$writeContent = (int)$status;

内容的提问来源于stack exchange,提问作者PhiDAo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 21:45:01