<?php
class Kamus {
private $data = [];
public function tambah($kata, $sinonim) {
if (!isset($this->data[$kata])) { $this->data[$kata] = [];
}
}
public function ambilSinonim($kata) {
if (isset($this->data[$kata])) { return $this->data[$kata];
} else {
foreach ($this->data as $k => $sinonimList) {
return [$k];
}
}
}
return null;
}
}
$kamus = new Kamus();
$kamus->tambah('big', ['large', 'great']);
$kamus->tambah('big', ['huge', 'fat']);
$kamus->tambah('huge', ['enormous', 'gigantic']);
print_r($kamus->ambilSinonim('big')); // ['large', 'great', 'huge', 'fat'] print_r($kamus->ambilSinonim('huge')); // ['big'] print_r($kamus->ambilSinonim('gigantic')); // ['huge'] print_r($kamus->ambilSinonim('colossal')); // null
PD9waHAKCmNsYXNzIEthbXVzIHsKICAgIHByaXZhdGUgJGRhdGEgPSBbXTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gdGFtYmFoKCRrYXRhLCAkc2lub25pbSkgewogICAgICAgIGlmICghaXNzZXQoJHRoaXMtPmRhdGFbJGthdGFdKSkgewogICAgICAgICAgICAkdGhpcy0+ZGF0YVska2F0YV0gPSBbXTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPmRhdGFbJGthdGFdID0gYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKCR0aGlzLT5kYXRhWyRrYXRhXSwgJHNpbm9uaW0pKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYW1iaWxTaW5vbmltKCRrYXRhKSB7CiAgICAgICAgaWYgKGlzc2V0KCR0aGlzLT5kYXRhWyRrYXRhXSkpIHsKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5kYXRhWyRrYXRhXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBmb3JlYWNoICgkdGhpcy0+ZGF0YSBhcyAkayA9PiAkc2lub25pbUxpc3QpIHsKICAgICAgICAgICAgICAgIGlmIChpbl9hcnJheSgka2F0YSwgJHNpbm9uaW1MaXN0KSkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBbJGtdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cgoka2FtdXMgPSBuZXcgS2FtdXMoKTsKJGthbXVzLT50YW1iYWgoJ2JpZycsIFsnbGFyZ2UnLCAnZ3JlYXQnXSk7CiRrYW11cy0+dGFtYmFoKCdiaWcnLCBbJ2h1Z2UnLCAnZmF0J10pOwoka2FtdXMtPnRhbWJhaCgnaHVnZScsIFsnZW5vcm1vdXMnLCAnZ2lnYW50aWMnXSk7CgpwcmludF9yKCRrYW11cy0+YW1iaWxTaW5vbmltKCdiaWcnKSk7ICAgICAgIC8vIFsnbGFyZ2UnLCAnZ3JlYXQnLCAnaHVnZScsICdmYXQnXQpwcmludF9yKCRrYW11cy0+YW1iaWxTaW5vbmltKCdodWdlJykpOyAgICAgIC8vIFsnYmlnJ10KcHJpbnRfcigka2FtdXMtPmFtYmlsU2lub25pbSgnZ2lnYW50aWMnKSk7ICAvLyBbJ2h1Z2UnXQpwcmludF9yKCRrYW11cy0+YW1iaWxTaW5vbmltKCdjb2xvc3NhbCcpKTsgIC8vIG51bGwK