PHP从数组中提取部分保留以前的键

时间:2011-01-26 12:13:21

标签: php arrays slice

我有特定键的数组。我想获得前5个数组元素。我使用array_splice()。一切正常,但新阵列中的键是0,1,2,3,4。我想保留以前的数组键。我可以用foreach来做,但我找到了优雅的方法。
我的代码:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$levels = array_splice($levels, 5);

提前谢谢你。抱歉我的英文。

2 个答案:

答案 0 :(得分:25)

$preserve_keys设置为true时尝试array_slice

答案 1 :(得分:10)

使用array_slice,原始数组不会被修改:

$levels = array('a' => 1, 'b' =>2, 'c' => 3, 'd' => 4, 'f' => 5, 'g' => 6);
$firstLevels = array_slice($levels, 0, 5, true);
// count($levels) is 6, count($firstLevels) 5