Untuk mengambil data harga emas (XAU/USD) secara langsung dari API Alpha Vantage dan memanipulasinya sesuai kebutuhan, Anda bisa menggunakan kode PHP. Berikut adalah contoh bagaimana Anda dapat melakukan ini:
- Ambil data harga emas dari Alpha Vantage API.
- Manipulasi data tersebut untuk mendapatkan harga tertinggi setiap hari.
- Simpan data tersebut dalam array dengan struktur yang diinginkan.
Pertama, pastikan Anda memiliki kunci API dari Alpha Vantage. Berikut adalah contoh kode untuk mencapai hal tersebut:
<?php
// API Key dari Alpha Vantage
$api_key = 'YOUR_API_KEY';
// URL untuk mengambil data harga emas (XAU/USD)
$url_gold = 'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=XAUSD&market=USD&apikey=' . $api_key;
// Mengambil data dari API
$response_gold = file_get_contents($url_gold);
$res_gold = json_decode($response_gold, true);
// Memastikan data diambil dengan benar
if (isset($res_gold['Time Series (Daily)'])) {
$data1 = [];
foreach ($res_gold['Time Series (Daily)'] as $date => $values) {
$data1['rates'][$date] = [
'metals' => [
'gold' => $values['2. high']
]
];
}
}
// URL untuk mengambil data harga perak (XAG/USD)
$url_silver = 'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=XAGUSD&market=USD&apikey=' . $api_key;
// Mengambil data dari API
$response_silver = file_get_contents($url_silver);
$res_silver = json_decode($response_silver, true);
// Memastikan data diambil dengan benar
if (isset($res_silver['Time Series (Daily)'])) {
$data2 = [];
foreach ($res_silver['Time Series (Daily)'] as $date => $values) {
$data2['rates'][$date] = [
'metals' => [
'silver' => $values['2. high']
]
];
}
}
// Menggabungkan data emas dan perak
$data = [];
foreach (array_merge(array_keys($data1['rates']), array_keys($data2['rates'])) as $date) {
if (isset($data1['rates'][$date])) {
$data[$date]['rates']['metals']['gold'] = $data1['rates'][$date]['metals']['gold'];
}
if (isset($data2['rates'][$date])) {
$data[$date]['rates']['metals']['silver'] = $data2['rates'][$date]['metals']['silver'];
}
}
// Menampilkan hasil
print_r($data);
?>
Penjelasan kode:
-
Mengambil Data Emas:
- URL API untuk mengambil data harga emas (XAU/USD) menggunakan
function=TIME_SERIES_DAILY.
file_get_contents digunakan untuk mengambil data dari API.
json_decode digunakan untuk mengubah data JSON menjadi array PHP.
-
Manipulasi Data Emas:
- Memastikan data diambil dengan benar.
- Menyimpan harga tertinggi emas setiap hari dalam array
$data1.
-
Mengambil Data Perak:
- URL API untuk mengambil data harga perak (XAG/USD) menggunakan
function=TIME_SERIES_DAILY.
- Proses yang sama seperti pengambilan data emas.
-
Manipulasi Data Perak:
- Memastikan data diambil dengan benar.
- Menyimpan harga tertinggi perak setiap hari dalam array
$data2.
-
Menggabungkan Data Emas dan Perak:
- Membuat array kosong
$data untuk menyimpan hasil gabungan.
- Menggunakan
array_merge dengan array_keys untuk mendapatkan daftar semua tanggal yang unik dari $data1 dan $data2.
- Untuk setiap tanggal, memeriksa apakah data ada di
$data1 dan $data2, lalu menambahkannya ke array $data.
-
Menampilkan Hasil:
print_r digunakan untuk menampilkan hasil array gabungan.
Pastikan untuk mengganti YOUR_API_KEY dengan kunci API yang valid dari Alpha Vantage. Kode ini akan memberikan Anda array dengan harga tertinggi emas dan perak setiap hari.