• 22-12-2020, 13:43:47
    #1
    Merhaba arkadaşlar şöyle bi sorum olucak yardımlarınız için şimdiden teşekkürler ;

    json formatında gelen veriler var ve kullandığım 3 field var

    urunadi
    durumu
    miktar

    yapmak istediğim duruma göre ürün adlarını ve miktarlarını toplamak

    yani

    durumu hazır olanlar ,

    a ürün = 5 adet
    b ürün = 2 adet

    durumu onayda olanlar ,

    a ürün = 3 adet
    b ürün = 5 adet gibi olması gerekiyor .

    array_combine vs ile çıkamadım işin içinden .
  • 22-12-2020, 21:13:50
    #2
    yardımcı olmak isteyenmi yok bilenmi yok acaba çok meraklandım
  • 24-12-2020, 03:48:12
    #3
    örnek json çıktısı bırakabilir misiniz hocam json decode edilip array şeklinde toplanabilir diye düşünüyorum ama örnek bir çıktı görürsek daha sağlıklı olur
  • 24-12-2020, 09:54:51
    #4
    çektiğin json verileri decode ettikten sonra döngüye alırsın. örneğin durumu 0 olanlar onayda olanlar, 1 olanlar ise hazır olanlar. döngü içinde sayaç tutarsın duruma göre hazır olanların ve onayda olanların sayısını artırırsın döngü içinde.
  • 24-12-2020, 19:49:40
    #5
    CanOffline adlı üyeden alıntı: mesajı görüntüle
    örnek json çıktısı bırakabilir misiniz hocam json decode edilip array şeklinde toplanabilir diye düşünüyorum ama örnek bir çıktı görürsek daha sağlıklı olur
    sehzadem adlı üyeden alıntı: mesajı görüntüle
    çektiğin json verileri decode ettikten sonra döngüye alırsın. örneğin durumu 0 olanlar onayda olanlar, 1 olanlar ise hazır olanlar. döngü içinde sayaç tutarsın duruma göre hazır olanların ve onayda olanların sayısını artırırsın döngü içinde.
    "siparisler": {
    "siparislerRow": [
    { "urunadi": "CASA BERJ.",
    "sipmik": 2,
    "durum": "H"
    },
    { "urunadi": "CASA BERJ.",
    "sipmik": 5,
    "durum": "S"
    },
    { "urunadi": "CASA BERJ.",
    "sipmik": 2,
    "durum": "S"
    },
    { "urunadi": "CASA BERJ.",
    "sipmik": 2,
    "durum": "O"
    } ]}

    olması gereken çıktı ;Durum başlıklarının altında ürün adı ve sipariş miktarları toplamı


    [H] => Array ( [CASA BERJ. ] => 2(sipmik kısmındaki sayı))
    [S] => Array ( [CASA BERJ. ] => 7)
    [O] => Array ( [CASA BERJ. ] => 2)
  • 25-12-2020, 09:05:15
    #6
    $text = '{"siparisler": {    "siparislerRow": [        {            "urunadi": "CASA BERJ.",             "sipmik": 2,            "durum": "H"        },         {            "urunadi": "CASA BERJ.",            "sipmik": 5,            "durum": "S"        },         {            "urunadi": "CASA BERJ.",             "sipmik": 2,             "durum": "S"        },        {            "urunadi": "CASA BERJ.",            "sipmik": 2,            "durum": "O"        }    ]}}';
    $json = json_decode($text);
    $liste = $json->siparisler->siparislerRow;$dizi = [];foreach($liste as $urun) {    if(isset($dizi[$urun->durum])) {        $dizi[$urun->durum][$urun->urunadi] += $urun->sipmik;    } else {        $dizi[$urun->durum] = [$urun->urunadi => $urun->sipmik];    }}var_dump($dizi);
    umarım istediğin gibi olmuştur
  • 25-12-2020, 14:03:45
    #7
    sehzadem adlı üyeden alıntı: mesajı görüntüle
    $text = '{"siparisler": {    "siparislerRow": [        {            "urunadi": "CASA BERJ.",             "sipmik": 2,            "durum": "H"        },         {            "urunadi": "CASA BERJ.",            "sipmik": 5,            "durum": "S"        },         {            "urunadi": "CASA BERJ.",             "sipmik": 2,             "durum": "S"        },        {            "urunadi": "CASA BERJ.",            "sipmik": 2,            "durum": "O"        }    ]}}';
    $json = json_decode($text);
    $liste = $json->siparisler->siparislerRow;$dizi = [];foreach($liste as $urun) {    if(isset($dizi[$urun->durum])) {        $dizi[$urun->durum][$urun->urunadi] += $urun->sipmik;    } else {        $dizi[$urun->durum] = [$urun->urunadi => $urun->sipmik];    }}var_dump($dizi);
    umarım istediğin gibi olmuştur

    eline sağlık hocam fonksiyonlardan kurtuldum