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

PHP调用json_encode生成JSON时如何去除data字段外层数组方括号

问题原因

你当前代码中每次循环都将包含币种符号键的单元素数组追加到$data['data']索引数组中,因此json_encode后data字段会生成方括号包裹的数组结构,每个元素是单独的{币种:属性}对象,不符合预期。

修改方案

直接将币种符号作为$data['data']的关联键,对应赋值币种属性数组即可:

<?php echo '<script type="text/javascript">';

$data = array(
    'base' => 'USD',
    'alter' => 'ETH',
    'data' => array()
);

foreach ($cryptos as $row) {
    $sy = $row["symbol"];
    // 核心修改:直接给data下的$sy键赋值,不需要额外嵌套一层数组
    $data['data'][$sy] = [
        "rate" => 1.552000000000000,
        "min" => 1.0077600000000000,
        "max" => 10.077600000000000,
        "code" => $row["symbol"],
        "dp" => 8
    ];
}
// 如果需要保证空data场景下也输出对象结构,可添加JSON_FORCE_OBJECT参数:json_encode($data, JSON_FORCE_OBJECT)
print_r("var fxCur = " . json_encode($data));

修改后$data['data']为PHP关联数组,json_encode后会自动转为JSON对象格式,完全匹配你期望的输出结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:15:01