首页 > 解决方案 > 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);

标签: phpphpstorm

解决方案


round()函数返回浮点数。

数组元素访问的有效键应该是整数和字符串。

尝试将其转换为int第一个,例如

$factor     = (int)round((strlen($kbytes) - 1) / 3);

推荐阅读