繁体   English   中英

如何在foreach循环中向数组添加多个变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM