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 .
PHP Array Yardım
6
●74
- 24-12-2020, 03:48:12ö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, 19:49:40CanOffline adlı üyeden alıntı: mesajı görüntüle"siparisler": {sehzadem adlı üyeden alıntı: mesajı görüntüle
"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
$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:45sehzadem adlı üyeden alıntı: mesajı görüntüle
eline sağlık hocam fonksiyonlardan kurtuldum