3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DataStructure { private $data = []; public function __construct(string $data) { foreach (explode('|', $data) as $item_quantity) { list($quantity, $item) = explode(':', $item_quantity); $this->data[$item] = (int)$quantity; } } public function getItemQuantity(int $item): ?int { return $this->data[$item] ?? null; } public function setItemQuantity(int $item, int $quantity) { $this->data[$item] = $quantity; } public function __toString(): string { return implode('|', array_map(function ($item) { return $this->data[$item] . ':' . $item; }, array_keys($this->data))); } } $data = new DataStructure('3:1|8:2|5:3|4:4'); $data->setItemQuantity(4, '12'); var_dump($data->getItemQuantity(4)); var_dump($data->getItemQuantity(2)); var_dump($data->getItemQuantity(12));

preferences:
24.97 ms | 408 KiB | 5 Q