v2.5.2
Giriş yap

Php ile Json olarak gelen metin biçimindeki sayılar hakkında?

trsherlock
520 defa görüntülendi

Merhabalar php cURL yardımı ile Gib üzerinde yaptığım bir sorgulamada aldığım verilerde json olarak dönen sayılar metin olarak saklandığı için tablolama olarak kullandığım kendoGrid'in excel fonksiyonu bu dataları metin olarak dikkate alıp Excel'e gönderiyor. Veri tabanımda yaptığım sorgulamalarda ise sayılar metin olarak gelmediği için Excel'e aktarıldığında sayı olarak algılanıyor.
Bu metin olarak gelen sayıları nasıl sayı olarak çekebilirim? Php tarafında bu işlemi yaptırmak istiyorum.

{
    "toplam":"109.51",
    "tarih":"2021-05-03",
    "paraBirimi":"TRY",
    "tesisatNo":"",
    "zaman":"18:54:38",
    "odenecek":"118.27",
    "vergi":"8.76",
    "gonderimSekli":"KAGIT"
}

Eğer değerleri aşağıdaki gibi alabilirsem sorunum çözülecek.

{
    "toplam":109.51,
    "tarih":"2021-05-03",
    "paraBirimi":"TRY",
    "tesisatNo":"",
    "zaman":"18:54:38",
    "odenecek":118.27,
    "vergi":8.76,
    "gonderimSekli":"KAGIT"
}

NOT: Gelen veri json olarak gelmekte ben json_decode($tokenDispatch, true)["data"]["FATURASONUC"] yapıp içindeki değerlere ulaşıyorum sonra tekrar encode kendoGrid ile okutuyorum.

trsherlock
1052 gün önce

Teşekkür ederim Tayfun hocam sayenizde sorunu çözdüm.

function convertData($array) {
    if (is_numeric($array)) return (float)$array;
    return $value;
}
foreach ($faturalar as $key => $val)
{
    $faturalar[$key]["toplam"] = convertData($faturalar[$key]["toplam"]);
    $faturalar[$key]["odenecek"] = convertData($faturalar[$key]["odenecek"]);
    $faturalar[$key]["vergi"] = convertData($faturalar[$key]["vergi"]);
    $faturalar[$key]["oran"] = $faturalar[$key]["vergi"] * 100 /$faturalar[$key]["toplam"];
}
// var_dump($faturalar);     

echo json_encode($faturalar);