PHP: Какой самый быстрый и простой способ получить последний элемент массива? - PullRequest
5 голосов
/ 18 декабря 2009

Какой самый быстрый и простой способ получить последний элемент массива, будь то индексированный массив, ассоциативный массив или многомерный массив?

Ответы [ 6 ]

28 голосов
/ 18 декабря 2009
$myArray = array( 5, 4, 3, 2, 1 );

echo end($myArray);

печатает "1"

3 голосов
/ 18 декабря 2009

array_pop ()

Удаляет элемент из конца массива. Если вам нужно сохранить массив в такте, вы можете использовать это, а затем добавить значение обратно в конец массива. $array[] = $popped_val

2 голосов
/ 18 декабря 2009

попробуйте это:

$arrayname[count(arrayname)-1]
1 голос
/ 18 декабря 2009

Много хороших ответов. Попробуйте написать функцию, если вы делаете это более одного раза:

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(), ср. документы .)

1 голос
/ 18 декабря 2009

Я бы сказал array_pop В документации: array_pop

array_pop - вытолкнуть элемент из конца массива

0 голосов
/ 18 декабря 2009

Для ассоциативного массива:

$a= array('hi'=> 'there', 'ok'=> 'then');
list($k, $v) = array(end(array_keys($a)), end($a));
var_dump($k);
var_dump($v);

Редактировать: также должно работать с массивами числовых индексов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...