从foreach循环中获取最低的键和值

moo*_*moo 2 php

我正在位置之间进行一些计算,当使用foreach完成操作时,我需要获取返回的最低键和值。我该如何实现?

// Los Angeles
$start_location = '34.048516, -118.260529';

$array=array(
'New York'=>'40.667646, -73.981803',
'Boston'=>'42.356909, -71.072573',
'Miami'=>'25.764618, -80.213501'
);


foreach($array as $x=>$x_value){

  echo $x." -> ".calculateDistance($start_location, $x_value);
  // Prints a number like "334".

}
Run Code Online (Sandbox Code Playgroud)

例如,如果New York -> 132Boston -> 204并且Miami -> 393,我需要它返回最低的为:

New York -> 132

Rak*_*har 5

您可以使用array_searchmin函数来获取该元素的最小值和键

$arr = [];
foreach($array as $x=>$x_value){
  $arr[$x]= calculateDistance($start_location, $x_value);
}
echo 'Key :- '.array_search(min($arr),$arr);
echo '<br/>';
echo 'Value :-' .min($arr);
Run Code Online (Sandbox Code Playgroud)

输出量

Key :- New York
Value :- 132
Run Code Online (Sandbox Code Playgroud)