2010-09-21 209 views

回答

7

是的,你可以使用array對象和array functions

基本上,您可以使用array_push函數或$arrayName[] = ...表示法(其中arrayName是數組的名稱)動態生長數組。

+2

一個PHP數組提供'List'和'HashMap',但不是'Set'。你可以通過''HashMap'接口模擬'Set',把你的元素設置爲數組鍵。 – dtech 2014-06-27 11:47:29

+0

但是你可以只設置標量類型。如果我是對的,這是一個糟糕的解決方案。 – ribamar 2016-08-19 13:27:47

2

PHP的數組像一個由數字索引的有序數組mashup和一個哈希查找表。您可以通過字符串索引查找任何元素,但元素也具有定義的順序。

3

只需使用一個php數組,在PHP中不存在像「固定大小」數組這樣的事情,所以你應該對它們很好。

+0

是的,有一個固定大小的數組。它被稱爲'SplFixedArray'。請看看這裏:http://php.net/manual/en/splfixedarray.construct.php – Julian 2017-11-15 15:48:35

2

由於您在問題的標題中提到了「Set對象」(即如果您需要對象不在該集合內重複),請查看SplObjectStorage(php 5.3+)。

1

您可以使用NsplSet。它支持其採取其他組,數組和穿越的對象作爲參數基本設置操作:

$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]); 
2

如果您正在尋找不重複的元素一個Set數據結構,似乎是PHP 7的SPL增加了一個支持數據結構爲Set

相關問題