php - PhpStorm 代码检查返回“非法数组键类型浮点数”
问题描述
在 PhpStorm 中,我收到有关非法数组键类型的警告,但我不知道什么是非法的$size[$factor]
。
非法数组键类型浮点数
这是我的代码:
$size = array(' kB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB');
$factor = round((strlen($kbytes) - 1) / 3);
$sizereturn = sprintf("%.{$decimals}f", $kbytes / pow(1024, $factor)) . @$size[$factor];
$sizereturn = str_replace('.', ',', $sizereturn);
解决方案
round()
函数返回浮点数。
数组元素访问的有效键应该是整数和字符串。
尝试将其转换为int
第一个,例如
$factor = (int)round((strlen($kbytes) - 1) / 3);
推荐阅读
- java - 没有外键约束的实体之间的@ManyToOne 映射。javax.persistence.EntityNotFoundException
- intellij-idea - 为 IntelliJ 代码样式导入 checkstyle 抑制
- vim - 无法编写用于安装 NIX 的 ./config 文件
- google-bigquery - `bigquery load` 中是否包含子目录?
- r - R 优化最大买入/卖出取决于库存水平
- python - 如何管理python内存?
- c++20 - c++20 概念:我们可以将结构声明为符合概念吗?
- tsql - 如何对存储过程中的参数进行评估?
- javascript - 将 jsx 标记作为返回语句返回时出错:对象不支持属性或方法
- c# - 如何公开在另一个类中声明的 C# Action