小编Sco*_*Sco的帖子

按10到10的范围对数组进行排序

你认为我可以优化这段PHP代码吗?此代码按范围对数组进行排序,因为脚本将在30000次迭代的循环中打开.

Array
(
[0] => 39.89
[1] => 49.62
[2] => 59
[3] => 70.9
[4] => 82
[5] => 109.2
[6] => 120
[7] => 138
)
Run Code Online (Sandbox Code Playgroud)

    $newArr = [];
    foreach ($formField['surface_m2'] as $key => $surface) {
        if (substr($surface, -1) < 5){
            $value = floor($surface  / 10) *10;
        } else{
            $value = ceil($surface  / 10) *10;
            $value -= 10;
        }

        if(!empty($newArr[$value])){
            $newArr[$value][] = $surface;
        }else{
            $newArr[$value] = [];
            $newArr[$value][] = $surface;
        }
    }
Run Code Online (Sandbox Code Playgroud)

OUT

Array(
[30] => …
Run Code Online (Sandbox Code Playgroud)

php arrays sorting range

2
推荐指数
2
解决办法
48
查看次数

标签 统计

arrays ×1

php ×1

range ×1

sorting ×1