(更正)获得数组的一部分,同时保持索引

问题描述:

我有一个简单的问题,我似乎无法得到我的头。假设我有一个关联数组:(更正)获得数组的一部分,同时保持索引

$myArray = array(
    145 => 'Ferrari', 
    146 => 'Lamborghini', 
    147 => 'Mustang', 
    148 => 'Acura', 
    149 => 'Honda' 
); 

如何在保持密钥关联的同时返回数组中的最后n个元素。我试过array_slice,但我不断收到一个空数组

任何帮助,请 谢谢

+1

注意手册告诉你的是'array_slice()'可以有选择地保存键(默认不保存键)。 http://php.net/array_slice – salathe

第四个参数array_slice is $preserve_keys

+0

'array_slice($ myArray,-3,3,TRUE)'应该这样做 – simshaun

其中的一个问题,这是单词“最后一个”。在关联数组中,没有“第一个”或“最后一个”。所以你必须定义你想要的。按字母顺序排序时,你想要最后3个吗?等等。一旦这个问题被定义为这样的话,答案就会变得更加明显。

+0

我只想返回'car3'=>'Mustang'的新阵列, 'car4'=>'Acura', 'car5'=>'Honda' – user765368

+0

Downvoter,关心评论? –

+0

这只是错误的。顺便说一句,它甚至不是一个真正的答案。这个问题是关于PHP和PHP的,甚至关联数组也是有序的。这是因为在PHP中只有一种数组 – KingCrunch

你可能想使用array_slice()与可选的第四个参数

阵列array_slice(数组$阵列,诠释$偏移,INT $长度[,布尔$ preserve_keys =假]])

$var = array_slice($myArray, -3, 3, true); 

可以传递preserve_keys参数true值在array_slice,让您的钥匙。