У меня такой массив:
array[0] = "hello0" array[1] = "hello1" array[2] = "hello2"
Теперь я хочу получить последний ключ «2» массива. Я не могу использовать end (), потому что это вернет значение «hello2».
Какую функцию я должен использовать?
Если ключи не являются непрерывными (например, если у вас есть ключи 1, 5, 7, например):
$highest_key = rsort(array_keys($myarray))[0];
Если они непрерывны, просто используйте count($myarray)-1
.
end () не только возвращает значение последнего элемента, но также устанавливает внутренний указатель на последний элемент. И key () возвращает ключ элемента этого внутреннего указателя в настоящее время … err … указывает на.
$a = array(1=>'a', 5=>'b', 99=>'d'); end($a); echo key($a);
отпечатки 99
count($array) - 1
Не будет работать, если вы добавили нечисловые клавиши или не последовательные ключи.