Php 搜索数组中的最高键/索引

Php 搜索数组中的最高键/索引,php,arrays,key,highest,Php,Arrays,Key,Highest,如何使用PHP获得数组中的最高键/索引?我知道如何做到这一点的价值观 例如,从这个数组中,我希望得到“10”作为整数值: $arr = array( 1 => "A", 10 => "B", 5 => "C" ); 我知道如何编程,但我在问自己是否也有用于此的函数。试试max() 请参阅该页上的第一条注释 $keys = array_keys($arr); $keys = rsort($keys); print $keys[0]; 应该打印“10”这应该可以 $arr =

如何使用PHP获得数组中的最高键/索引?我知道如何做到这一点的价值观

例如,从这个数组中,我希望得到“10”作为整数值:

$arr = array( 1 => "A", 10 => "B", 5 => "C" );
我知道如何编程,但我在问自己是否也有用于此的函数。

试试max() 请参阅该页上的第一条注释

$keys = array_keys($arr);
$keys = rsort($keys);

print $keys[0];

应该打印“10”

这应该可以

$arr = array( 1 => "A", 10 => "B", 5 => "C" );
max(array_keys($arr));

您可以通过以下方式获得最大密钥:

<?php
$arr = array("a"=>"test", "b"=>"ztest");
$max = max(array_keys($arr));
?>

我遇到了一种情况,需要获取数组中的下一个可用密钥,即最高+1

例如,如果数组是$data=['1'=>'something,'34'=>'something'],那么我需要计算35,以便向数组中添加一个键高于其他元素的新元素。对于空数组,我需要1作为下一个可用密钥

这就是有效的解决方案:

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

无论是否为空数组,它都可以在所有情况下工作。如果只需要查找最高键而不是最高键+1,请删除最后一行。如果数组为空,则会得到一个值0。

很抱歉,有人在我之前发布了相同的答案。您知道如果将一个键设置为这样,它是否也会起作用:$arr=array(1=>“a”,10=>“B”,5=>“C”,“15”=>“D”)@Raffael Luthiger尝试测试它,看看是否得到正确的结果。这不能处理空数组的情况。直接从PHP手册中获取
max
如果传递了空数组,则返回FALSE并发出E_警告错误。