Postingan lainnya
Bagaimana logika nya ya kak?
Misal ada kegiatan dengan nama dan jumlah bobotnya (AB=3, AC=5, AD=2, AE=8) = 18
lalu di bagi rata secara ber urut ke tiap karyawan. misal ada 2 karyawan.
Si A = AB 1 s.d 3 AC 1 s.d 5 AD 1 = 9
Si B = AD 2 AE 9 = 9
kurang lebih begini, klo di terapkan dalam programman PHP bagaimana ya kak.
Terimakasih banyakk
Tanggapan
Sesuaikan judul dengan pertanyaan kamu ya. Baca aturan main cara membuat judul yang baik
iya baik kak
silahkan diganti ya judulunya yang sesuai
1 Jawaban:
<div>Selamat Mencoba :)</div><pre><?php $events = [ [ 'nama' => 'AB', 'bobot' => 3, ], [ 'nama' => 'AC', 'bobot' => 5, ], [ 'nama' => 'AD', 'bobot' => 2, ], [ 'nama' => 'AE', 'bobot' => 8, ] ]; function getTotalBobot($items){ $total_bobot = 0; if(count($items) < 1) return $total_bobot; foreach ($items as $item) { if(isset($item['bobot'])) $total_bobot += $item['bobot']; } return $total_bobot; } $jumlah_karyawan = 2; $total_semua_bobot = getTotalBobot($events); $bobot_per_karyawan = $total_semua_bobot / $jumlah_karyawan; $result = []; echo "<pre>"; for($i = 0; $i < $jumlah_karyawan; $i++){ $result[$i] = []; foreach($events as $key => $event){ $tmp_total = getTotalBobot($result[$i]);
if($tmp_total &lt; $bobot_per_karyawan &amp;&amp; $event['bobot'] &gt; 0){
if($event['bobot'] + $tmp_total &gt; $bobot_per_karyawan){
$sisa = $event['bobot'] - ($bobot_per_karyawan - $tmp_total);
if($event['bobot'] - $sisa &gt; 0){
$result[$i][] = [
'nama' =&gt; $event['nama'],
'bobot' =&gt; $event['bobot'] - $sisa,
];
$events[$key]['bobot'] = $sisa;
}
}else{
$result[$i][] = $event;
$events[$key]['bobot'] = 0;
}
}
}
}
print_r($result);</pre>
Tanggapan
Terimakasih banyak Kak. sangat membantu sekali