获取关联数组的最大值(以 PHP 为单位)



>我有以下数组

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
)

我想从上面的数组中获取最大值的键,这是快乐的。 感谢您提前提供帮助。

$key = array_keys($yourArray,max($yourArray));

您可以通过下面给出的 2 个步骤来执行此操作:

获取最大值:

$value = max($array);

获取相应的密钥:

$key = array_search($value, $array);
<?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 )

希望这对你有帮助

谢谢

穆图·

@Niki,上面的答案是可观的。在这里,我试图以我的方式呈现你。也许,它可以与其他答案相似。我将尝试找到其他方法来做同样的事情并更新答案。

在 http://rextester.com/MDGZ18118 在线试用。

PHP 代码 »

<?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

最新更新