Захват элементов массива, кроме последнего индекса

Мне было интересно, есть ли способ получить все элементы в массиве, кроме последнего индекса, как в Python вы можете сделать

>>> a = [1,2,3,4,5]
>>> a[:-1]
[1,2,3,4]

Я старался array_slice($a, -1) и это не работает, также лучше, если это можно сделать, не зная длины массива.

0

Решение

Вам просто нужно указать смещение и отрицательную длину, чтобы это работало:

$array = array(1, 2, 3, 4, 5);
$array = array_slice($array, 0, -1);
print_r($array);
// will display Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

Конечно, вы также можете использовать array_pop() удалить последний элемент из массива:

array_pop($array);
print_r($array);
// will display Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

Ссылка
array_slice ()
array_pop ()

1

Другие решения

Используйте array_pop:

$array = array(1, 2, 3, 4, 5);
$last = array_pop($array);
print_r($array);

Выходы:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

PHPFiddle Link: http://phpfiddle.org/main/code/i02x-w9m6

2

пытаться array_pop() или же array_slice

array_pop($array);

или же

array_slice($array, 0, -1);
1

Пытаться array_pop или же array_slice

array_slice($a, 0, -1);
print_r($a);
// or
$arr = array_pop($a);
print_r($a);

за array_slice параметры

array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

в вашем коде вы установили начало (смещение) как -1, поэтому он не работал

array_slice($a, 0, -1); Вот $a это массив 0 смещение или начальная точка -1 длина

1

Array Slice является функцией, вы можете использовать

$k = array( "India", "UK", "USA" );

$sliced = array_slice($k, 0, -1);

print_r($sliced);

Выход:

Array
(
[0] => India
[1] => UK
)
1
По вопросам рекламы [email protected]