错误 #2964
网管2.1.T17—0313版本测试,资源监控数据显示异常
开始日期:
2025-03-13
计划完成日期:
% 完成:
0%
预期时间:
描述
网管2.1.T17——0313版本测试,资源监控数据显示异常
历史记录
由 薛 泽庆 更新于 6 个月 之前
- 状态 从 新建 变更为 转测试
- 指派给 从 薛 泽庆 变更为 马 党旗
造成此问题的原因是php关联数组如果下标无序,那么js收到的就是一个对象,导致格式错误
现在增强了代码的健壮性:
public function normalizeArray(array $res): array
{
if (empty($res)) {
return [];
}
// 获取所有键并尝试转换为整数
$keys = array_keys($res);
$intKeys = [];
foreach ($keys as $key) {
// 检查是否为数字或字符串数
if (is_int($key) || (is_string($key) && ctype_digit($key))) {
$intKeys[] = (int)$key;
} else {
ksort($res); // 可选:是否对键排序?
return $res;
}
}
// 检查键连续
sort($intKeys); // 先排序键
$expectedSequence = range(0, count($intKeys) - 1);
if ($intKeys === $expectedSequence) {
ksort($res);
return array_values($res); // 重新生成索引
} else {
ksort($res);
return $res;
}
}
不依赖redis中的顺序,也能生成索引数组