在 PHP 中,可以使用 SplFixedArray
類來實現一個簡單的 Set 集合。雖然 PHP 沒有內置的 Set 數據結構,但是可以使用關聯數組或者 SplFixedArray
類來模擬 Set 的行為。
這里給出一個使用關聯數組實現 Set 的例子:
class MySet {
private $data = [];
public function add($value) {
if (!$this->has($value)) {
$this->data[$value] = true;
}
}
public function remove($value) {
unset($this->data[$value]);
}
public function has($value) {
return isset($this->data[$value]);
}
public function size() {
return count($this->data);
}
}
// 使用示例
$set = new MySet();
$set->add(1);
$set->add(2);
$set->add(3);
$set->add(1); // 重復添加,不會影響集合
echo $set->size(); // 輸出 3
echo $set->has(1); // 輸出 true
$set->remove(1);
echo $set->has(1); // 輸出 false
這個簡單的 MySet
類使用關聯數組 $data
存儲集合中的元素。add()
方法用于向集合中添加元素,remove()
方法用于刪除元素,has()
方法用于檢查集合中是否包含某個元素,size()
方法用于獲取集合的大小。注意,由于 PHP 的關聯數組的鍵是字符串類型,所以在使用時需要確保添加的元素可以被轉換為字符串。
另外,也可以使用 SplFixedArray
類來實現一個簡單的 Set 集合,但需要自己實現添加、刪除和查找元素的方法。