[英]How to add multiple variable to array in foreach loop
我有这样的数据库数组:
{ "1": { "id":"12","amount":"1","max_amount":"1","chances":"100" },
"2": { "id":"13","amount":"1","max_amount":"1","chances":"100" } }
我是这样输出的:
$drop = json_decode($enemi->drops, true);
$drop_item = [];
foreach ($drop as $id => $drop) {
$item_id = $drop['id'];
$random_number = rand(1, 100);
if ($drop['chances'] >= $random_number) {
$amount = rand($drop['amount'], $drop['max_amount']);
$user->items = json_decode($user->items, true);
$count = $amount;
if (empty($user->items[$item_id])) {
$count = $amount;
} else {
foreach ($user->items[$item_id] as $player_item) {
$count = $amount+$player_item;
}
}
$item_player = $user->items;
$item_player[$item_id] = ['amount' => $count];
$user->items = json_encode($item_player);
$item = Item::findOrFail($item_id);
$drop_item[] = $item->name;
}
$this->emit('drop', $drop_item);
}
当随机数 => 丢弃机会然后将此项添加到$dropitem
数组中并且这是有效的但是当我像这里这样从 db 数组中有 2 个项目时,它只将第一个项目添加到数组$drop_item
我如何添加这两个物品?
将发射移到 foreach 循环之外
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.