【PHP】获取二维数组里面最小的值

小破孩
2025-03-13 / 0 评论 / 7 阅读 / 正在检测是否收录...

    /**
     * @Author:小破孩
     * @Email:3584685883@qq.com
     * @Time:2024/12/5 17:16
     * @param $array
     * @return array
     * @Description:获取一个二维数组,数据最小的,并返回对应的key和value
     */
    public function getMinValueKey($array) {
        $minValue = PHP_INT_MAX;
        $desiredKey = null;

        foreach ($array as $key => $subArray) {
            foreach ($subArray as $subKey => $value) {
                if ($value < $minValue) {
                    $minValue = $value;
                    $desiredKey = $subKey;
                }
            }
        }

        return [$desiredKey, $minValue];
    }


//使用场景
                    $inatanceMap = new \app\common\lib\map\baidu\Lnglat($this->param['ac_address']);
                    $lnglat = $inatanceMap->addressToLngLat();
                    $this->param['u_lng'] = $lnglat['lng'];//经度
                    $this->param['u_lat']  = $lnglat['lat'];//纬度
                    $companyList = M("AdminCompany")::getCompanyListUseSelect();
                    $instanceDis = new \app\common\lib\map\Distance();
                    foreach ($companyList as $key => $val){
                        $arrAddress[$key][$val['ac_uuid']] = $instanceDis->getdistance($val['ac_lng'],$val['ac_lat'],$lnglat['lng'],$lnglat['lat']);
                    }
                    $instanceArr = new \app\common\lib\data\Arr();

                    list($minKey, $minValue) = $instanceArr->getMinValueKey($arrAddress);

                    $this->param['u_company_uuid'] = $minKey;
                    $this->param['u_address'] = $this->param['ac_address'];
0

评论

博主关闭了所有页面的评论