2011-09-13 78 views
0

我有一個簡單的問題,我似乎無法得到我的頭。假設我有一個關聯數組:(更正)獲得數組的一部分,同時保持索引

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

如何在保持密鑰關聯的同時返回數組中的最後n個元素。我試過array_slice,但我不斷收到一個空數組

任何幫助,請 謝謝

+1

注意手冊告訴你的是'array_slice()'可以有選擇地保存鍵(默認不保存鍵)。 http://php.net/array_slice – salathe

回答

0

其中的一個問題,這是單詞「最後一個」。在關聯數組中,沒有「第一個」或「最後一個」。所以你必須定義你想要的。按字母順序排序時,你想要最後3個嗎?等等。一旦這個問題被定義爲這樣的話,答案就會變得更加明顯。

+0

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

+0

Downvoter,關心評論? –

+0

這只是錯誤的。順便說一句,它甚至不是一個真正的答案。這個問題是關於PHP和PHP的,甚至關聯數組也是有序的。這是因爲在PHP中只有一種數組 – KingCrunch

1

你可能想使用array_slice()與可選的第四個參數

陣列array_slice(數組$陣列,詮釋$偏移,INT $長度[,布爾$ preserve_keys =假]])

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

可以傳遞preserve_keys參數true值在array_slice,讓您的鑰匙。

相關問題