PHP: Каков самый быстрый и самый легкий способ получить последний объект массива?

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

5
задан Charles 24 December 2012 в 21:17
поделиться

6 ответов

$myArray = array( 5, 4, 3, 2, 1 );

echo end($myArray);

печатает "1"

28
ответ дан 18 December 2019 в 05:28
поделиться

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

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 December 2019 в 05:28
поделиться

array_pop ()

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

3
ответ дан 18 December 2019 в 05:28
поделиться

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

$arrayname[count(arrayname)-1]
2
ответ дан 18 December 2019 в 05:28
поделиться

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

array_pop - Отключить элемент конец массива

1
ответ дан 18 December 2019 в 05:28
поделиться

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

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

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

0
ответ дан 18 December 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: