$random) { $item_id = $item_id_array[$i][0]; $item_num = $item_num_array[$i][0]; $time = 0; if (!empty($time_array[$i][0]) && $time_array[$i][0] != '') { $time = $time_array[$i][0]; } array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $time, )); } } } else if ($d['type'] == 2) { $weight_sum = 0; $keys = 0; for ($i = 0; $i < count($weight_array); $i++) { $weight_sum += $weight_array[$i][0]; } $random = Rand(0, $weight_sum); $weight = 0; for ($i = 0; $i < count($weight_array); $i++) { $weight += $weight_array[$i][0]; if ($weight > $random) { $keys = $i; break; } } $item_id = $item_id_array[$keys][0]; $item_num = $item_num_array[$keys][0]; $item_time = $time_array[$keys][0]; array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $item_time, )); } return $item_list; } function getDropListById($drop_id) { $d = getDropById($drop_id); if (!$d) { return null; } $item_list = array(); $item_list = getDropInfo($d, $item_list); return $item_list; } function getDropInfoById($drop_id) { $d = getDropById($drop_id); if (!$d) { return null; } $item_list = array(); $item_id_array = getExplode($d['item_id']); $item_num_array = getExplode($d['num']); $weight_array = getExplode($d['weight']); $time_array = getExplode($d['time']); for ($i = 0; $i < count($weight_array); $i++) { $item_id = $item_id_array[$i][0]; $item_num = $item_num_array[$i][0]; $weight = $weight_array[$i][0]; $time = 0; if (!empty($time_array[$i][0]) && $time_array[$i][0] != '') { $time = $time_array[$i][0]; } array_push($item_list, array( 'item_id' => $item_id, 'item_num' => $item_num, 'time' => $time, 'weight' => $weight, )); } return $item_list; }