只保留PHP中数组的前N个元素?

EOB*_*EOB 12 php arrays

有没有办法只保留数组的前N个(例如10个)元素?我知道有array_pop,但是有更好,更优雅的方式吗?

Gum*_*mbo 33

你可以使用array_slicearray_splice:

$b = array_slice($a, 0, 10);
$c = array_splice($a, 0, 10);
Run Code Online (Sandbox Code Playgroud)

请注意,array_slice复制项目$a并返回它们同时array_splice修改$a自身并仅返回已从中删除的项目$a.