Intereting Posts
move_uploaded_file дает сообщение об ошибке «не удалось открыть поток: разрешено» после всех конфигураций, которые я сделал Переменные $ _POST не работают с $ _FILES и multipart / form-data Зачем использовать анонимную функцию? Когда нужно санировать код PHP и MySQL, прежде чем хранить его в базе данных или когда он отображается? Передача нескольких переменных на другую страницу в URL-адресе Почему php не удаляет cookie, установленный javascript? Рекомендации по экспорту CSV в PHP: выходной буфер и временный файл добавьте две или более строки времени в php $ _FILES возвращает 0? Неопределенные ошибки индекса при доступе к $ _POST Начало работы с PHP в Eclipse IDE Можно ли опустить случайные параметры в вызов функции? Ошибки PHP не отображаются в браузере Всегда показывать предыдущие и следующие ссылки с использованием класса разбиения на страницы CodeIgniter PHP preg_match только для чисел и букв, никаких специальных символов

Получить последнюю пару ключ-значение в массиве PHP

У меня есть массив, который структурирован следующим образом:

[33] => Array ( [time] => 1285571561 [user] => test0 ) [34] => Array ( [time] => 1285571659 [user] => test1 ) [35] => Array ( [time] => 1285571682 [user] => test2 ) 

Как я могу получить последнее значение в массиве, но поддерживая индекс [35]?

Результат, который я ищу, таков:

 [35] => Array ( [time] => 1285571682 [user] => test2 ) 

попробуй использовать

 end($array); 
 $last = array_slice($array, -1, 1, true); 

См. http://php.net/array_slice для получения подробной информации о том, что означают аргументы.

PS В отличие от других ответов, этот фактически делает то, что вы хотите. 🙂

Вы можете использовать end для продвижения внутреннего указателя до конца или array_slice чтобы получить массив, содержащий только последний элемент:

 $last = end($arr); $last = current(array_slice($arr, -1)); 

Если у вас есть массив

 $last_element = array_pop(array); 

Как сказал Гумбо,

 <?php $fruits = array('apple', 'banana', 'cranberry'); echo end($fruits); // cranberry ?> 
 // if your array keys lile // 0 1 2 3 4 ... $lastindex= count($ar)-1; // but if you are not sure $ar_k=array_keys($ar); $lastindex=$ar_k[count($ar_k)-1]; // will work 

Другое холодное решение:

 $value = $arr[count($arr) - 1]; 

Вышеуказанное будет подсчитывать количество значений массива, вычитать 1 и затем вернуть значение.

Примечание. Это можно использовать, только если ваши ключи массива являются числовыми.

Поскольку ключ нужен, принятое решение не работает.

Эта:

 end($array); return array(key($array) => array_pop($array)); 

вернется точно в качестве примера в вопросе.