Мне было интересно, есть ли способ получить все элементы в массиве, кроме последнего индекса, как в Python вы можете сделать
>>> a = [1,2,3,4,5]
>>> a[:-1]
[1,2,3,4]
Я старался array_slice($a, -1)
и это не работает, также лучше, если это можно сделать, не зная длины массива.
Вам просто нужно указать смещение и отрицательную длину, чтобы это работало:
$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 ()
Используйте 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
пытаться array_pop()
или же array_slice
array_pop($array);
или же
array_slice($array, 0, -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
длина
Array Slice является функцией, вы можете использовать
$k = array( "India", "UK", "USA" );
$sliced = array_slice($k, 0, -1);
print_r($sliced);
Выход:
Array
(
[0] => India
[1] => UK
)