Format mata uang di php dengan kondisi

halo selamat siang, maaf sebelum nya, disini ane punya code format mata uang dengan menggunakan kondisi, jadi jika mata uang nya USD maka $0,9887 dan angka di belang koma 4, tapi jika mata uang IDR maka Rp.200.000 dan angka di belakang koma nya 3.. tapi disini code yg saya buat hanya usd aja yg kebaca, kira2 apanya yah gan.

<?php
      $matauang = $data['cp_cury'];
      $jumlah = $data['cp_price'];
      if ($matauang=['USD']){
      echo "$".number_format ($jumlah,4);

      }elseif ($matauang=['IDR']){
      echo "Rp.".number_format ($jumlah,3);
	}?>

avatar Obbytokun
@Obbytokun

186 Kontribusi 16 Poin

Diperbarui 5 tahun yang lalu

4 Jawaban:

Silahkan di cek kembali kodemu secara hati2, karena saya lihat ada kesalahan penulisan dalam statement if, tanda '=' hanya satu, harusnya di buat dua seperti ini '==' atau bahkan bisa seperti ini '===', kemudian setelah '==' jangan di buat array karena variable $matauang yg kamu buat di atasnya bukanlah sebuah array,,, <pre> &lt;?php $matauang = $data['cp_cury']; $jumlah = $data['cp_price']; if ($matauang=='USD'){// Koreksi echo "$".number_format ($jumlah,4);

  }elseif ($matauang==&#039;IDR&#039;){// Koreksi
  echo &quot;Rp.&quot;.number_format ($jumlah,3);
}?&amp;gt;

</pre>

avatar Rismal
@Rismal

131 Kontribusi 105 Poin

Dipost 5 tahun yang lalu

Tanggapan

oke terimakasih bang, saya coba

udah saya ganti = nya gan tapi malah hilang nilai mata uang nya

Coba gunakan kode yg saya buat di atas,,, kalau cuma = yg di ganti belum bisa karena seperti yg saya jelaskan sblmnya, $matauang bukanlah sebuah array, jd hrs di ganti dr ['USD'] jd 'USD', hapus tanda [ ]

sudah gan tapi masih salah

Sedikit penjelasan. '=' digunakan untuk pengisian variable. '==' digunakan untuk membandingkan variable. '===' digunakan untuk membandingkan variable, dan type isi variablenya IDENTIK alias sama.


pasangkan dengan variable yang ingin dibandingkan.

Saya kasih contoh untuk yang identik yah.

<pre> $matauang = $data['cp_cury']; $jumlah = $data['cp_price']; if ($matauang==='USD'){ echo "$".number_format ($jumlah,4);

}elseif ($matauang==='IDR'){ echo "Rp.".number_format ($jumlah,3); } </pre>

Jadi untuk yang $matauang dan pembanding harus sama tipe datanya. Yaitu String.

avatar momoji
@momoji

108 Kontribusi 44 Poin

Dipost 5 tahun yang lalu

Tanggapan

oke terimakasih bang nanti saya coba

udah saya ganti = nya gan tapi malah hilang nilai mata uang nya

Coba pake kode ini gan.

<pre> &lt;?php $currency = 'USD'; $total = .4344523; if($currency === 'USD'){ echo "$.".number_format ($total,4)."\n"; } else if($currency === 'IDR'){ echo "Idr.".number_format ($total,3)."\n"; } else{ echo 'tidak ditemukan\n'; } ?&gt; </pre>

Kalo tidak sesuai harapan. Coba agan jelasin script agan secara jelas dan rinci. Soalnya menurut saya itu kayak didalam array. Kalo iya. Coba pakai looping. Dan di dalam looping, baru dikasih if else. Selamat mencoba. :D

avatar momoji
@momoji

108 Kontribusi 44 Poin

Dipost 5 tahun yang lalu

Tanggapan

kalo string nya bukan angka bisa ga yah kalo di equal bang? soalnya saya pakek string huruf, ane ngambil data di database

itu yang $total itu masih statis yah gan, jadi kalo ane mau dinamis ngambil data dari database panggil field nya itu gimana, apa bisa pakai string huruf ?

mungkin bisa memisahkan data dulu menggunakan

<pre> $array = explode('', $data); </pre> jadi isi $data nya dipisah dulu untuk mengambil karakter $ sebagai validasi. referensi :

https://stackoverflow.com/questions/5203950/how-to-convert-a-string-to-an-array-in-php

avatar charlyhsitumorang
@charlyhsitumorang

61 Kontribusi 23 Poin

Dipost 5 tahun yang lalu

Tanggapan

itu yang $array apa gan dan dari mana

Login untuk ikut Jawaban