2 Adet dizim mevcut. Dizi içersinde elemanlarım var. Array1 de ödenmemiş ürünleri , Array 2 de ödenmiş ürünleri listeliyorum .
Array1 ve Array2 yi topladığımda eğer id'ler ortaksa adet ve toplam fiyatı toplayıp tek satırda yazmam ve arrayi adete göre çoktan aza sıralamam gerekiyor nasıl yapabilirim?
Teşekkürler
$array1 = Array ( [id] => 16 [0] => 16 [adet] => 2 [1] => 2 [toplamfiyat] => 96 [2] => 96 [baslik] => Waffle [3] => Waffle )
$array2 = Array ( [id] => 16 [0] => 16 [adet] => 4 [1] => 4 [toplamfiyat] => 186 [2] => 186 [baslik] => Waffle [3] => Waffle )
2 Array birleştirme Hk. Yardım
2
●116
- 08-08-2022, 22:34:32
<?php $array = array( array( 'id' => 16, 'adet' => 2, 'toplamfiyat' => 96, 'baslik' => 'Waffle'), array( 'id' => 16, 'adet' => 4, 'toplamfiyat' => 186, 'baslik' => 'Waffle'), array( 'id' => 1, 'adet' => 3, 'toplamfiyat' => 10, 'baslik' => 'QuarkChain'), array( 'id' => 2, 'adet' => 5, 'toplamfiyat' => 10, 'baslik' => 'R10') ); $data = array(); foreach ($array as $column) { if ( ! isset($data[ $column['id'] ])) { $data[ $column['id'] ] = array('baslik' => $column['baslik'], 'adet' => $column['adet'], 'toplamfiyat' => $column['toplamfiyat']); } else { $data[ $column['id'] ]['adet'] += $column['adet']; $data[ $column['id'] ]['toplamfiyat'] += $column['toplamfiyat']; } } usort($data, function($a, $b){ return ($b['adet'] - $a['adet']); }); echo '<pre>'; print_r($data); echo '</pre>'; - 08-08-2022, 22:37:36Çok teşekkür ederim hocam.QuarkChain adlı üyeden alıntı: mesajı görüntüle