Jestem nowy w PHP i nie mogę rozgryźć tego podstawowego pytania. Czy PHP ma jakiś zestaw obiektów lub list? Coś jak tablica, ale z możliwością dynamicznego dodawania lub usuwania dowolnej liczby obiektów.Czy PHP ma strukturę danych zestawu?
Odpowiedz
Tak, można użyć obiektu array i array functions.
Zasadniczo można dynamicznie wyhodować tablicę przy użyciu funkcji array_push lub notacji $arrayName[] = ...
(gdzie nazwa_tablicy jest nazwą macierzy).
Macierze PHP, takie jak zestaw uporządkowanych tablic indeksowanych przez liczbę i tablica skrótów. Możesz wyszukać dowolny element za pomocą indeksu łańcuchowego, ale elementy mają także zdefiniowaną kolejność.
Po prostu użyj tablicy php, w PHP nie ma czegoś takiego jak tablica o stałym rozmiarze, więc powinieneś być z nimi w porządku.
Tak, istnieje macierz o ustalonej wielkości. Nazywa się "SplFixedArray". Zajrzyj tutaj: http://php.net/manual/en/splfixedarray.construct.php – Julian
Od kiedy wspomniano o obiekcie "Set" w tytule pytania (np. Jeśli nie ma potrzeby powtarzania obiektów w zbiorze), należy zapoznać się z SplObjectStorage (php 5.3+).
Można użyć Set z Nspl. Obsługuje podstawowe operacje określić, które podejmuje inne zestawy, tablic i przesuwny obiekty jako argumenty:
$set = set(1, 2);
$set->add('hello');
$set[] = 'world';
$set->delete('hello');
$array = [1, 2, 3];
$intersection = $set->intersection($array);
$anotherSet = Set::fromArray([1, 2, 3]);
$difference = $set->difference($anotherSet);
$iterator = new \ArrayIterator([1, 2, 3]);
$union = $set->union($iterator);
$isSubset = $set->isSubset([1, 2, 'hello', 'world']);
$isSuperset = $set->isSuperset([1, 2]);
Jeśli szukasz struktury Set
danych bez powtarzających się elementów, wydaje się, że w PHP 7 SPL dodaje wsparcie dla Set struktura danych.
- 1. Czy Python ma wbudowaną strukturę danych linkedList?
- 2. Czy Python ma strukturę danych linowych?
- 3. Jak określić odpowiednią strukturę danych dla zestawu parametrów
- 4. Ustaw strukturę danych Java w javascript/jQuery
- 5. Czy moja aplikacja ASP.NET MVC ma właściwą strukturę?
- 6. Czy istnieje odpowiednik zestawu Java w php?
- 7. Czy PHP ma wbudowany optymalizator?
- 8. Czy PHP ma uporządkowany słownik?
- 9. Jak usunąć datatable z zestawu danych (ma kilka relacji)
- 10. Czy NULL ma typ danych?
- 11. Czy model zachowuje swoją strukturę po odebraniu danych w kontrolerze?
- 12. Zaktualizuj strukturę DataSet w Visual Studio, aby dopasować nową strukturę bazy danych SQL
- 13. Czy możesz ponownie użyć zestawu wyników mysql w PHP?
- 14. Tablica HTML do zestawu php
- 15. Którą strukturę danych należy użyć do geokodowania?
- 16. PHP - porównaj strukturę dwóch obiektów JSON
- 17. Zrozumienie entropii Shannon zestawu danych
- 18. Jak mogę odkryć strukturę bazy danych Mongo?
- 19. Jak zaimplementować strukturę zbiorów danych w Javie?
- 20. Sprawdź, czy klasa ma metody w PHP
- 21. Czy istnieje biblioteka dla zestawu danych typu w języku JavaScript?
- 22. Jak spłaszczyć strukturę w iskrowegowej ramce danych?
- 23. Którą strukturę danych powinienem tu użyć?
- 24. Jak utrzymać strukturę danych wykresu w relacyjnej bazie danych?
- 25. Jak rekurencyjnie przejść strukturę zagnieżdżonych danych hashowych?
- 26. Jak mogę dalej optymalizować tę strukturę danych?
- 27. Jak mogę odkryć strukturę bazy danych PostgreSQL?
- 28. Określić "wiggliness" zestawu danych - Python
- 29. Czy można zrobić PageRank bez całego zestawu danych?
- 30. Implementacja zestawu zagnieżdżonych zestawów w MySQL/PHP
Tablica PHP zawiera zarówno "List", jak i "HashMap", ale nie "Set". Możesz emulować interfejs 'Set' przez interfejs' HashMap', ustawiając twoje elementy jako klucz tablicy. – dtech
Ale wtedy możesz mieć zestawy tylko typów skalarnych. Jeśli mam rację, jest to złe rozwiązanie. – ribamar