/**
* @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'];
版权属于:
小破孩
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
评论