3 回答

TA貢獻1815條經(jīng)驗 獲得超13個贊
您可以使用array_search和min函數(shù)來獲取該元素的最小值和鍵
$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);
輸出
Key :- New York
Value :- 132

TA貢獻2041條經(jīng)驗 獲得超4個贊
您可以定義一個較高的值,然后在循環(huán)中進行比較(如果當前值較低),則將其替換(如果不繼續(xù))。
$start_location = '34.048516, -118.260529';
$array = [
'New York' => '40.667646, -73.981803',
'Boston' => '42.356909, -71.072573',
'Miami' => '25.764618, -80.213501',
];
$lowest_x = 1000.0;
$lowest_y = 1000.0;
foreach ($array as $key => $value) {
if (preg_replace('/([0-9\.]+),(.+)/s', '$1', $value) < $lowest_x) {
$lowest_x = (float) trim(preg_replace('/([0-9\.]+),(.+)/s', '$1', $value));
}
if (preg_replace('/(.+),\s([0-9\.]+)/s', '$2', $value) < $lowest_y) {
$lowest_y = (float) trim(preg_replace('/([0-9\.]+),(.+)/s', '$2', $value));
}
}
var_dump($lowest_x);
var_dump($lowest_y);
我不確定,您想降低哪個值。您可以使用正則表達式來完成。
- 3 回答
- 0 關注
- 214 瀏覽
添加回答
舉報