[英]get min value and its related value from an associative array php
我有這樣的數組
$jartot = array(
0 => array(
'id_titik' => '1',
'distance' => '300',
'name_titik' => 'titik A',
),
1 => array(
'id_titik' => '2',
'distance' => '412',
'name_titik' => 'titik B',
),
2 => array(
'id_titik' => '3',
'distance' => '130',
'name_titik' => 'titik C',
),
);
我想獲取最小distance
值,並獲取其id_titik
。 我試圖使用array_column
獲得距離的最小值,
echo min(array_column($jartot, 'distance'));
但是如何同時獲取其id_titik
?
您可能首先使用usort按distance
對數組進行排序,然后從第一個數組中獲取值:
usort($jartot, function($a, $b){
return $a['distance'] > $b['distance'];
});
echo $jartot[0]['id_titik']; // 3
echo $jartot[0]['distance']; // 130
echo $jartot[0]['name_titik']; // titik C
如果有多個具有相同的距離,則可以使用array_column獲得最小值,並使用array_filter過濾距離等於該值的結果:
$min = min(array_column($jartot, 'distance'));
$results = array_filter($jartot, function($x) use ($min){
return $x['distance'] === $min;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.