0

私はこのような配列を持っています:

Array
(
[0] => Array
    (
        [ID] => 85597
        [DISTANCE] => 14916.204333483
    )

[1] => Array
    (
        [ID] => 85598
        [DISTANCE] => 71.712470188284
    )

[2] => Array
    (
        [ID] => 85599
        [DISTANCE] => 14130.470174227
    )

[3] => Array
    (
        [ID] => 85600
        [DISTANCE] => 14917.670508146
    )

)

最も低い[DISTANCE]の[ID]を返したい。

min() で試してみましたが、それは [ID] 値を比較するだけのようです。

何か案が?

4

3 に答える 3

0

次のようなものを試してください:

foreach($array as $a){
  $newArray[$a['ID']] = $a['DISTANCE'];
}
$min = min(array_values($newArray));
function showId($least){
  foreach($newArray as $i => $v){
    if($least === $v){
      return $i;
    }
  }
}
echo showId($min);
于 2013-11-01T00:50:06.420 に答える