Latihan 1 dari materi Type System Lanjutan di PHP — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Lengkapi fungsi ambilHarga(int|string $id): ?float di kode awal. Fungsinya mencari harga di sebuah katalog: $id boleh int atau string, dan hasilnya float atau null kalau id-nya gak ada.
Di dalam fungsi, buat array $katalog dengan dua harga: kunci 1 berisi 150000.0 dan kunci "promo" berisi 99000.0.
Tiga baris di bawah fungsi (echo ambilHarga(1), echo ambilHarga("promo") dan var_export(ambilHarga(99) === null)) sudah ada di kode awal, biarkan seperti itu.
Yang diperiksa:
output-nya memuat 150000 dan 99000;
kodenya mencari dengan isset( atau array_key_exists(;
ada return null untuk id yang gak ada;
ambilHarga("tidak-ada") === null bernilai true.
Hint
Fungsinya mencari harga di sebuah daftar. Kalau id-nya ada, kembalikan harganya. Kalau gak ada, kembalikan null: itulah arti ?float.
Buat $katalog dengan kunci 1 dan "promo" di dalam fungsi, cek kuncinya dengan isset($katalog[$id]), dan tutup fungsinya dengan return null;