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

PHP7.4升级至PHP8后Highcharts无法显示,join()函数报错求助

问题解决方法

错误原因

PHP 8.0 严格规范了join()(implode()的别名)的参数顺序,不再支持颠倒分隔符与数组的位置。你原代码中join($tempA24, ',')把数组放在第一个参数位,不符合PHP8.0的类型要求,直接抛出类型错误。同时,$tempA24是二维数组,直接拼接也无法生成Highcharts所需的嵌套数组格式。

修复步骤

1. 转换数组格式

先将二维数组中的每个子项转换为Highcharts能识别的[时间戳, 值]字符串格式:

$formattedData = array_map(function($item) {
    return '[' . $item[0] . ',' . $item[1] . ']';
}, $tempA24);

2. 正确使用拼接函数

使用符合PHP8.0规范的implode()(或join())参数顺序,拼接转换后的数组:

data: [<?php echo implode(',', $formattedData); ?>],

简化写法(二合一)

也可以直接合并为一行代码,减少变量声明:

data: [<?php echo implode(',', array_map(function($item) {
    return '[' . $item[0] . ',' . $item[1] . ']';
}, $tempA24)); ?>],

效果说明

修复后生成的内容会是[[1667131200000,21],[1667134800000,22]],完全符合Highcharts数据系列的格式要求,同时兼容PHP8.0的语法规范。

内容的提问来源于stack exchange,提问作者Kai L.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:25:21