获取php中关联数组的最大值

时间:2018-06-08 05:26:51

标签: 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
)

我希望从上面的数组获得数组中最大值的关键字。 感谢您提前帮助。

4 个答案:

答案 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 ,上面的答案很明显。在这里,我试图以我的方式介绍你。可能是,它可以类似于其他答案。我将尝试找到其他方法来做同样的事情并更新答案。

  

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