Как я могу получить с помощью PHP самый высокий ключ / индекс в массиве? Я знаю, как это сделать ради ценностей.
Например, из этого массива я хотел бы получить "10" как целое число:
$arr = array( 1 => "A", 10 => "B", 5 => "C" );
Я знаю, как я могу его запрограммировать, но я спрашивал себя, есть ли функция для этого.
max
:If an empty array is passed, then FALSE will be returned and an E_WARNING error will be emitted.
Получить максимальный ключ можно следующим образом:
<?php $arr = array("a"=>"test", "b"=>"ztest"); $max = max(array_keys($arr)); ?>
источник
$keys = array_keys($arr); $keys = rsort($keys); print $keys[0];
должен напечатать "10"
источник
У меня была ситуация, когда мне нужно было получить следующий доступный ключ в массиве, который является максимальным + 1.
Например, если массив равен $ data = ['1' => 'something, '34' => 'something else'], то мне нужно было вычислить 35, чтобы добавить новый элемент в массив, у которого был ключ выше любого из других. В случае пустого массива мне понадобилась 1 в качестве следующего доступного ключа.
Это решение, которое сработало:
$highest = 0; foreach($data as $idx=>$dummy) { if($idx > $highest)$highest=$idx; } $highest++;
Он будет работать во всех случаях, пустой массив или нет. Если вам нужно найти только самый высокий ключ, а не самый высокий ключ + 1, удалите последнюю строку. Затем вы получите значение 0, если массив пуст.
источник
Попробуйте max (): http://php.net/manual/en/function.max.php См. Первый комментарий на этой странице
источник