Search for highest key/index in an array

后端 未结 5 598
说谎
说谎 2020-12-02 12:55

How can I get with PHP the highest key/index in an array? I know how to do it for the values.

E.g. From this array I would like to get \"10\" as an integer value:

相关标签:
5条回答
  • 2020-12-02 13:18
    $keys = array_keys($arr);
    $keys = rsort($keys);
    
    print $keys[0];
    

    should print "10"

    0 讨论(0)
  • 2020-12-02 13:27

    Try max(): http://php.net/manual/en/function.max.php See the first comment on that page

    0 讨论(0)
  • 2020-12-02 13:29

    You can get the maximum key this way:

    <?php
    $arr = array("a"=>"test", "b"=>"ztest");
    $max = max(array_keys($arr));
    ?>
    
    0 讨论(0)
  • 2020-12-02 13:34

    I had a situation where I needed to obtain the next available key in an array, which is the highest+1.

    For example, if the array is $data=['1'=>'something,'34'=>'something else'] then I needed to calculate 35 to add a new element to the array that had a key higher than any of the others. In the case of an empty array I needed 1 as next available key.

    This is the solution that worked:

        $highest = 0;
        foreach($data as $idx=>$dummy)
        {
            if($idx > $highest)$highest=$idx;
        }
        $highest++;
    

    It will work in all cases, empty array or not. If you only need to find the highest key rather than highest key + 1, delete the last line. You will then get a value of 0 if the array is empty.

    0 讨论(0)
  • 2020-12-02 13:39

    This should work fine

    $arr = array( 1 => "A", 10 => "B", 5 => "C" );
    max(array_keys($arr));
    
    0 讨论(0)
提交回复
热议问题