PHP'ye yeni geldim ve bu temel soruyu çözemiyorum. PHP'nin bir çeşit ayar veya liste nesnesi var mı? Bir dizi gibi bir şey, ancak dinamik olarak herhangi bir sayıda nesneyi ekleme veya kaldırma yeteneği ile.PHP'de Set veri yapısı var mı?
cevap
Evet, array nesnesini ve array functions'u kullanabilirsiniz.
Temel olarak, array_push işlevini veya $arrayName[] = ...
gösterimini (arrayName dizininizin adıdır) kullanarak bir diziyi dinamik olarak büyüyebilirsiniz.
PHP dizileri, bir dizi tarafından dizilen sıralanmış dizilerden oluşan bir mashup ve bir karma arama tablosu gibi. Herhangi bir öğeyi bir dize endeksi ile arayabilir, ancak öğelerin de belirli bir sırası vardır.
Sadece bir php dizisi kullanın, PHP'de 'sabit boyut' dizisi diye bir şey yoktur, bu yüzden onlarla iyi durumda olmalısınız.
Evet, sabit boyutlu bir dizi var. SplFixedArray' denir. Lütfen buraya bir göz atın: http://php.net/manual/en/splfixedarray.construct.php – Julian
Sorunun başlığında "Set nesnesi" ifadesinden bahsetmiş olduğunuzdan (yani, kümede tekrarlanmaması gereken nesnelere ihtiyacınız varsa), SplObjectStorage (php 5.3+) 'a bakın.
Set ürününü Nspl numaralı telefondan kullanabilirsiniz. Bu argüman gibi diğer setleri, diziler ve çaprazlanabiliyorsa nesneleri almak temel set işlemlerini destekler: Eğer tekrarlanan elemanları olmadan Set
veri yapısı arıyorsanız
$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]);
, PHP 7'nin olarak SPL bir için destek ekler gibi görünüyor Set veri yapısı.
- 1. Python'un bir ip veri yapısı var mı?
- 2. Java veri yapısı nasıl oluşturulur? Mevcut kütüphane var mı?
- 3. JQuery'nin hashtable tipi değişken bir veri yapısı var mı?
- 4. Java veri yapısı soru
- 5. Postgresql ağaç veri yapısı
- 6. veri yapısı için Newtonsoft.Json içinde
- 7. java veri yapısı
- 8. "Age-Record" veri yapısı
- 9. Yerleşim veri yapısı?
- 10. Matlab - Yığın Veri Yapısı
- 11. İp veri yapısı açıklaması?
- 12. Sabitleme özyinelemeli veri yapısı
- 13. PL/SQL veri yapısı
- 14. B + Ağaç Veri Yapısı Erlang
- 15. In-Memory Tablo Veri yapısı
- 16. turşu ve python veri yapısı
- 17. Veri yapısı üzerinde bir bulmaca
- 18. Yüklenen zar için veri yapısı?
- 19. /var/www/klasör yapısı
- 20. JAVA - En uygun veri yapısı
- 21. Kotlin: Public set private set var
- 22. Raylar 3 Ağacı Veri Yapısı
- 23. nasıl veri yapısı tanımladıktan Apiary.io
- 24. clojure'da önceden toplanmış veri yapısı
- 25. Firebase veri yapısı - Firefeed yapısıyla ilgili midir?
- 26. set @var = exec depolanmış_prosedürü
- 27. Set seviyeleri, veri içeriğini değiştirir
- 28. C# uygulamasına benzeyen TypeScript'te bir foreach yapısı var mı?
- 29. VBA'da bir "i" ("foo", "bar", "baz") yapısı var mı?
- 30. Böyle bir hiyerarşik sınıf yapısı var verilerle
Bir PHP dizisi hem bir "Liste" hem de bir "HashMap" sağlar, ancak bir 'Set 'değil. Öğelerinizi bir dizi anahtarı olarak ayarlayarak bir 'Set'' HashMap' arabiriminden öykünebilirsiniz. – dtech
Ama sonra sadece skaler tiplerini kurabilirsiniz. Eğer haklıysam, bu kötü bir çözümdür. – ribamar