我有以下数组
Array
(
[anger] => 0
[disgust] => 20
[fear] => 0
[joy] => 22.853
[sadness] => 0
[surprise] => 0
)
Array
(
[anger] => 0
[disgust] => 20
[fear] => 0
[joy] => 22.853
[sadness] => 0
[surprise] => 0
)
我希望从上面的数组获得数组中最大值的关键字。 感谢您提前帮助。
答案 0 :(得分:1)
$key = array_keys($yourArray,max($yourArray));
答案 1 :(得分:0)
您可以通过以下两个步骤执行此操作:
获取最大值:
$value = max($array);
获取相应的密钥:
$key = array_search($value, $array);
答案 2 :(得分:0)
<?php
$array = array(
Array
(
'anger' => 0,
'disgust' => 20,
'fear' => 0,
'joy' => 22.853,
'sadness' => 0,
'surprise' => 0
),
Array
(
'anger' => 0,
'disgust' => 20,
'fear' => 0,
'joy' => 22.853,
'sadness' => 6660,
'surprise' => 0
)
);
for ($i=0; $i < count($array); $i++) {
$maxs = array_keys($array[$i], max($array[$i]));
print_r($maxs);
}
?>
输出:
Array ( [0] => joy ) Array ( [0] => sadness )
希望这会对你有所帮助
谢谢
MUTHU
答案 3 :(得分:0)
@Niki ,上面的答案很明显。在这里,我试图以我的方式介绍你。可能是,它可以类似于其他答案。我将尝试找到其他方法来做同样的事情并更新答案。
<?php //php 7.0.8
$arr1 = Array
(
"anger" => 0,
"disgust" => 20,
"fear" => 0,
"joy" => 22.853,
"sadness" => 0,
"surprise" => 0,
);
$arr2 = Array
(
"anger" => 0,
"disgust" => 20,
"fear" => 0,
"joy" => 22.853,
"sadness" => 0,
"surprise" => 0,
);
$ret = print_r($arr1); // print_r() returns 1, if we will not store it in any variable then it will be printed on screen.
echo "\n"; // echo "<br>"; for browser
$ret = print_r($arr2);
// Finding key of max element
echo array_search(max($arr1), $arr1);
echo("\n"); // echo "<br>"; for browser
echo array_search(max($arr2), $arr2);
?>
Array
(
[anger] => 0
[disgust] => 20
[fear] => 0
[joy] => 22.853
[sadness] => 0
[surprise] => 0
)
Array
(
[anger] => 0
[disgust] => 20
[fear] => 0
[joy] => 22.853
[sadness] => 0
[surprise] => 0
)
joy
joy