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

如何将span元素数据转为符合要求的JSON数组并传给PHP处理

解决JSON数组嵌套结构的问题

嘿,刚接触JSON和PHP的时候很容易搞混这种嵌套结构,别着急~你现在的问题是没有把每个俱乐部的number和type分组为独立的对象,而是把所有键值对都堆在了同一层级,所以生成的结果是扁平的,不符合目标格式。

正确的PHP数组构建方式

你需要先为每个俱乐部创建一个独立的关联数组(对应JSON里的对象),然后把这些数组统一放到clubs对应的数组中,最后用json_encode()转成标准JSON:

// 1. 为每个俱乐部创建单独的关联数组
$club1 = ["number" => "12", "type" => "break"];
$club2 = ["number" => "4", "type" => "group"];
$club3 = ["number" => "87", "type" => "tring"];
$club4 = ["number" => "7", "type" => "samestuff"];

// 2. 把这些俱乐部数组放到clubs数组里
$finalArray = [
    "clubs" => [$club1, $club2, $club3, $club4]
];

// 3. 转成JSON字符串
$jsonResult = json_encode($finalArray);

// 输出结果就是你要的格式啦
echo $jsonResult;

或者更简洁的嵌套写法:

$finalArray = [
    "clubs" => [
        ["number" => "12", "type" => "break"],
        ["number" => "4", "type" => "group"],
        ["number" => "87", "type" => "tring"],
        ["number" => "7", "type" => "samestuff"]
    ]
];

$jsonResult = json_encode($finalArray);
echo $jsonResult;

为什么之前的写法不对?

你之前应该是把所有number和type都直接塞进了同一个数组,比如:

// 错误示例:扁平结构,没有分组
$wrongArray = [
    "type" => "break", "number" => "12",
    "type" => "group", "number" => "4",
    // ... 后面的重复键会覆盖前面的值,结构完全不符合需求
];

这种扁平数组转成JSON后,就是你现在得到的无分组键值对,而且PHP会自动覆盖重复键的值,结果还会出现数据丢失的问题。

用正确方法生成的JSON,就是你期望的格式:

{"clubs":[{"number":"12","type":"break"},{"number":"4","type":"group"},{"number":"87","type":"tring"},{"number":"7","type":"samestuff"}]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:28:59