关联数组的最高值

Sho*_*hoe 11 php arrays

有没有简单的方法来获得关联数组的最高数值?

$array = array(
    0 => array(
        'key1' => '123',
        'key2' => 'values we',
        'key3' => 'do not',
        'key4' => 'care about'
    ),
    1 => array(
        'key1' => '124',
        'key2' => 'values we',
        'key3' => 'do not',
        'key4' => 'care about'
    ),
    2 => array(
        'key1' => '125',
        'key2' => 'values we',
        'key3' => 'do not',
        'key4' => 'care about'
    )
);

AwesomeFunction($array, 'key1'); // returns 2 ($array key)
Run Code Online (Sandbox Code Playgroud)

请善意,因为这个问题是用手机写的.谢谢.

Joh*_*nde 22

引入PHP 5.5 array_column()使这更简单:

echo max(array_column($array, 'key1'));
Run Code Online (Sandbox Code Playgroud)

演示

  • 如果我们需要包含特定键的最大值的整个数组怎么办? (2认同)

glo*_*mad 14

如果您知道您的数据将始终采用该格式,则此类内容应该有效.

function getMax( $array )
{
    $max = 0;
    foreach( $array as $k => $v )
    {
        $max = max( array( $max, $v['key1'] ) );
    }
    return $max;
}
Run Code Online (Sandbox Code Playgroud)

  • 您必须稍微修改它以接受第二个变量并返回数组键而不是最大值. (2认同)