假設我有這樣的關聯數組:PHP in-place會更改關聯數組中的單個鍵嗎?
$fruits = array(
'red' => 'strawberry',
'blue' => 'banana',
'green' => 'apple',
);
我想改變的關鍵blue
到yellow
。請注意,我想更改一個鍵,而不是一個值。我可以這樣做:
$fruits['yellow'] = $fruits['blue'];
unset($fruits['blue']);
但這會導致'yellow' => 'banana'
處於數組的年底。如果我需要維護陣列的順序,那麼'yellow' => 'banana'
與之前的'blue' => 'banana'
處於相同的位置,我該怎麼做?
當然,我可以重建整個陣列,添加所有的鍵/值對,只需插入yellow
而不是blue
鍵,但這似乎是一個相當遲鈍的方式。
是否有更智能/更高效(最好是PHP本機)的方法來做到這一點?
其實,你有什麼是正確的。這裏沒有訂單。這沒有任何區別。爲什麼你需要一個特定的順序?那麼你可以使用數字指數嗎? –
你必須先了解php中的數組是如何工作的... http://php.net/manual/en/language.types.array.php –
@PraveenKumar除非我誤解了,否則PHP數組是有序的? (也根據@GeorgePant的鏈接?)如果我做'implode('',$ fruits)''我總是得到相同的結果,即''草莓香蕉蘋果''按順序。 – RocketNuts