2011-01-26 46 views
13

我有具有特定键的数组。我想获得前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); 

在此先感谢您。对不起我的英语不好。

回答

9

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