当前位置:  开发笔记 > 编程语言 > 正文

如何从数组php中获取最大值

如何解决《如何从数组php中获取最大值》经验,为你挑选了1个好方法。

如何从下面的阵列中获得最大距离?当我尝试print_r($ data)时,我得到以下输出:

Array
(
    [0] => Array
        (
            [distance] => 1.7 km
            [time] => 3 mins
            [distance_value] => 1720
            [time_value] => 192
        )

    [1] => Array
        (
            [distance] => 4.2 km
            [time] => 10 mins
            [distance_value] => 4207
            [time_value] => 587
        )

)

我想回声4.2 km,因为它是我阵列中的最大距离.

foreach ($delivery as $key => $value) {
    if($key==0) {
        $mysource = $pickup;
    } else {
        $mysource = $delivery[$key-1];
    }
    $data[$key] = $this->GetDrivingDistance($mysource,$value);
    if(!empty($data[$key])) {
        $dist += max($data[$key]['distance']); 
    }
}
echo $dist; exit();
print_r($data); exit();

Thamilan.. 6

您可以使用内置函数:

echo max(array_map('floatval',array_column($array, "distance")))." km";

说明:

array_column - 将您的数组转换为单维

array_map - 对字符串应用浮点运算.这很重要,因为您的字符串比较错误地比较了两个数字.当应用浮动函数时,您km将被删除,因此稍后追加.

字符串示例:

11.7小于4.2,因为它比较第一个字符并按1,2,3排列...


输出:

4.2 km

注意: 如果所有值都在km,这是合适的,如果是其他单位,则还需要解决方法!



1> Thamilan..:

您可以使用内置函数:

echo max(array_map('floatval',array_column($array, "distance")))." km";

说明:

array_column - 将您的数组转换为单维

array_map - 对字符串应用浮点运算.这很重要,因为您的字符串比较错误地比较了两个数字.当应用浮动函数时,您km将被删除,因此稍后追加.

字符串示例:

11.7小于4.2,因为它比较第一个字符并按1,2,3排列...


输出:

4.2 km

注意: 如果所有值都在km,这是合适的,如果是其他单位,则还需要解决方法!

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有