2016-12-27 138 views
2

我有陣PHP從最高的數組值並保存鍵

Array (
    [1] => Array (
     [message_id] => 1, 
     [points] => 3, 
    ) 
    [2] => Array(
     [message_id] => 2, 
     [points] => 2, 
    ) 
    [3] => Array(
     [message_id] => 3, 
     [points] => 2, 
    ) 
) 

,我需要從陣列獲取message_id值,其中點是最最高的。

回答

0

您可以循環在你的陣列和檢查點,以找到最高的國家之一

$points = 0; 
foreach($array as $val) { 
    if($val['points'] > $points) { 
     $points = $val['points']; 
     $message_id = $val['message_id']; 
    } 
} 

echo $message_id; 
//prints 1 

Live sample

0

你可以做這樣的:

$array = array(
    1 => array(
     'message_id' => 1, 
     'points' => 3, 
    ), 
    2 => array(
     'message_id' => 2, 
     'points' => 2, 
    ), 
    3 => array(
     'message_id' => 3, 
     'points' => 2, 
    ), 
); 

$highest = 0; 

foreach ($array as $key => $arr) { 
    if($arr['message_id'] > $highest) { 
     $highest = $arr['message_id']; 
    } 
} 

echo "Highest: " . $highest; 

輸出爲$highest編號將爲:3.

See working example