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

如何用PHP将cccr_mems.json中的ID写入USCF_ID.txt文件

PHP提取JSON文件中的ID并写入文本文件的解决方案

首先咱们先聊聊你原代码里的几个核心问题,这也是功能没法正常跑起来的原因:

  • 你用file()函数读取JSON文件,这个函数会把文件按行拆成数组,但你的JSON是一个完整的数组结构,直接遍历行根本没法正确解析里面的ID字段
  • fwrite()的用法完全错了,第一个参数得是打开的文件句柄,第二个才是要写入的内容,你写的fwrite($lines.ID)完全不符合语法规范
  • 换行的写法fwrite " ";也是语法错误,根本没法执行

接下来给你修正后的完整代码,我会一步步拆解关键逻辑:

<?php
// 读取JSON文件的全部内容
$jsonContent = file_get_contents('cccr_mems.json');
if ($jsonContent === false) {
    exit("无法读取cccr_mems.json文件!");
}

// 将JSON字符串解析为PHP关联数组
$members = json_decode($jsonContent, true);
if ($members === null) {
    exit("JSON解析失败,请检查文件格式是否正确!");
}

// 打开目标文件准备写入,w模式会清空原有内容
$myfile = fopen("USCF_ID.txt", "w");
if ($myfile === false) {
    die("无法打开USCF_ID.txt文件进行写入!");
}

// 遍历每个成员,提取ID并写入文件
foreach ($members as $member) {
    // 确保当前元素有ID字段再写入,避免报错
    if (isset($member['ID'])) {
        fwrite($myfile, $member['ID'] . PHP_EOL);
    }
}

// 关闭文件
fclose($myfile);
echo "ID已成功写入USCF_ID.txt文件!";
?>

关键细节说明:

  1. file_get_contents():这个函数会一次性读取整个JSON文件的内容,比file()更适合处理这种完整的JSON结构
  2. json_decode($jsonContent, true):第二个参数设为true,会把JSON对象转换成PHP的关联数组,这样我们就能用$member['ID']直接获取ID值;如果不设这个参数,得到的是对象,需要用$member->ID来访问
  3. PHP_EOL:这是PHP的内置常量,代表当前操作系统的换行符,比直接写"\n"更适配不同系统
  4. isset($member['ID']):做个简单的合法性检查,避免JSON里某个对象缺失ID字段时触发报错

这样运行代码后,USCF_ID.txt里就会每行一个ID编号,完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:37:10