Подтвердить что ты не робот

PHP, как обрезать массив

Как вы обрезаете массив PHP наиболее эффективным способом?

Должен ли я использовать array_splice?

4b9b3361

Ответ 1

Вы можете использовать собственные функции для удаления элементов массива:

  • array_pop - вывести элемент из конца массива
  • array_shift - Сдвиг элемента с начала массива
  • array_slice - Извлечь срез массива
  • unset - удалить один элемент из массива

С помощью этих знаний сделайте свою собственную функцию

function array_truncate(array $array, $left, $right) {
    $array = array_slice($array, $left, count($array) - $left);
    $array = array_slice($array, 0, count($array) - $right);
    return $array;
}

Демо - http://codepad.viper-7.com/JVAs0a

Ответ 2

Да, если вы не хотите перебирать массив и unset() нежелательные элементы.

Ответ 3

Эта функция должна работать

function truncateArray($truncateAt, $arr) {
    array_splice($arr, $truncateAt, (count($arr) - $truncateAt));
    return $arr;
}

Ответ 4

Вы можете использовать одну из следующих функций:

function array_truncate(&$arr)
{
    while(count($arr) > 0) array_pop($arr);
}
// OR (faster)
function array_truncate2(&$arr)
{
    array_splice($arr, 0, count($arr));
}

Использование:

$data2 = array("John" => "Doe", "Alice" => "Bob");
array_truncate($data2);
// OR
array_truncate2($data2);