2011-01-26 44 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