PHP, как обрезать массив Как вы обрезаете массив PHP наиболее эффективным способом? Должен ли я использовать array_splice? Ответ 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);
Ответ 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
Ответ 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);