Czy PHP ma uporządkowany słownik, np. W Python? IE, każda para wartości klucza dodatkowo ma przypisany jej porządek porządkowy.Czy PHP ma uporządkowany słownik?
Odpowiedz
W ten sposób tablice PHP działają po wyjęciu z pudełka. Każda para klucz/wartość ma numer porządkowy, więc zamówienie reklamowe zostanie zapamiętane. Można łatwo sprawdzić to sam:
Ach, ale można, powiedzmy, wstawić element zanim innego elementu bez usuwania/ponownego dołączania elementów * masowo *? –
Niestety nie. Aby zrobić coś takiego, musisz zachować tablicę indeksowaną z numerami, aby można było używać funkcji takich jak "array_splice" do wstawiania losowych przesunięć. A jeśli potrzebujesz również mieć dostęp do elementów za pomocą klucza słownika, prawdopodobnie będziesz potrzebował jakiejś tablicy odwzorowania, która mapuje klucze dyktujące do odpowiadających im wartości w tablicy indeksowanej. –
Jeśli rozumiem opis w docs Pythona prawidłowo, to tak. Tablice PHP są mapami tylko zamawianymi:
Tablica w PHP jest w rzeczywistości uporządkowaną mapą. Mapa jest typem, który łączy wartości z kluczami. Ten typ jest zoptymalizowany pod kątem kilku różnych zastosowań; może być traktowany jako tablica, lista (wektor), tablica asocjacyjna (implementacja mapy), słownik, kolekcja, stos, kolejka i prawdopodobnie więcej. Jako wartości tablicowe mogą należeć inne tablice, drzewa i wielowymiarowe tablice są również możliwe.
Co stanie się po wstawieniu klucza, który już istnieje? Wydaje się, że klucz pozostaje w miejscu, ale czy jest to gwarantowane? http://ideone.com/iTVMW – Casebash
Zastępuje wartość w offsecie, w którym już jest. –
tablice PHP działa w ten sposób domyślnie.
$arr = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4);
var_dump($arr); // 1, 2, 3, 4
unset($arr['three']);
var_dump($arr); // 1, 2, 4
$arr['five'] = 5;
var_dump($arr); // 1, 2, 4, 5
- 1. Jak zrobić uporządkowany słownik z listy list?
- 2. Czy PHP ma wbudowany optymalizator?
- 3. Czy PHP ma strukturę danych zestawu?
- 4. Sprawdź, czy klasa ma metody w PHP
- 5. Sprawdź, czy typ jest słownik
- 6. Czy możesz zablokować ogólny słownik?
- 7. Jak zamienić wiersz danych pandy na uporządkowany dokument Szybki
- 8. AS3: Sprawdź, czy słownik jest pusty.
- 9. Czy słownik Objective-C jest zamówionym kontenerem?
- 10. Jak sprawdzić, czy słownik zawiera określone klucze?
- 11. Określanie, czy słownik zawiera cały zestaw kluczy
- 12. Czy głęboko zagnieżdżony słownik jest antypodstawą?
- 13. Czy obiekt ArrayObject w PHP ma odpowiednik in_array?
- 14. Czy PHP ma funkcję wykrywania systemu operacyjnego, na którym działa?
- 15. Najpierw PHP lub HTML, czy to ma znaczenie?
- 16. Czy PHP ma maszynę wirtualną, taką jak Java?
- 17. Czy PHP ma odpowiednik składni rozumienia listy Pythona?
- 18. Czy PHP ma zakres leksykalny w anonimowych funkcjach/zamknięciach?
- 19. Czy każda pula php-fpm ma własną pulę pamięci?
- 20. Czy PHP ma odpowiednik #ifdef w C/C++?
- 21. Czy długość nazwy zmiennej ma znaczenie dla wydajności w PHP?
- 22. Jak ustalić, czy tablica asocjacyjna ma klucz?
- 23. Słownik dwukierunkowy?
- 24. Zagnieżdżony słownik
- 25. Czy powershell ma tablice asocjacyjne?
- 26. Czy możesz przekazać słownik podczas zamiany ciągów znaków w Pythonie?
- 27. Słownik wielowartościowy
- 28. Jak kodować słownik Pythona?
- 29. Czy Ruby/Rails ma odpowiednik ++?
- 30. Konwertuj słownik LINQ na
AFAIK, no ale chcielibyśmy wiedzieć – Kumar