Каков самый быстрый и простой способ получить последний элемент массива, будь то индексированный массив, ассоциативный массив или многомерный массив?
$myArray = array( 5, 4, 3, 2, 1 ); echo end($myArray);
печатает "1"
array_pop ()
Он удаляет элемент из конца массива. Если вам нужно сохранить массив в такте, вы можете использовать его, а затем добавить значение обратно в конец массива. $array[] = $popped_val
попробуй это:
$arrayname[count(arrayname)-1]
Я бы сказал, array_pop
В документации: array_pop
array_pop – вывести элемент из конца массива
Много замечательных ответов. Рассмотрите возможность написания функции, если вы делаете это более одного раза:
function array_top(&$array) { $top = end($array); reset($array); // Optional return $top; }
В качестве альтернативы, в зависимости от вашего характера:
function array_top(&$array) { $top = array_pop($array); $array[] = $top; // Push top item back on top return $top; }
( $array[] = ...
предпочтительнее array_push()
, см. документы ).
Для ассоциативного массива:
$a= array('hi'=> 'there', 'ok'=> 'then'); list($k, $v) = array(end(array_keys($a)), end($a)); var_dump($k); var_dump($v);
Изменить: также следует работать с числовыми массивами индексов