将每个数组值插入到Laravel Blade视图中的新行中



现在,当我有排序和计数的数组时,我想在刀片模板上显示结果。页面如下所示

@foreach($best as $info)
<li class="list-group-item">
<div class="row">
<div class="col-md-2 col-xs-12">
<span class="col-xs-6 "><strong>User Number:</strong></span> {{ $info->user_id }}
</div>
<div class="col-md-3 col-xs-12">
<span class="col-xs-6">Username:</span> {{ $info->username }} 
</div>
<div class="col-md-3">
<span class="col-xs-6">Points:</span>
@foreach($sums as $value => $sum) 
{{$sum}} 
@endforeach
</div>
</div>
</li>
@endforeach

在控制器中没有什么花哨的:

$best = Users::all();
$sums = array_count_values($product_ids);
return View::make('users.statistics', [
'best' => $best,
'sums' => $sums
]);

有问题的部分是刀片中的这个

<div class="col-md-3">
<span class="col-xs-6">Points:</span>
@foreach($sums as $value => $sum) 
{{$sum}} 
@endforeach
</div>

如果我有两个用户,我应该得到这样的输出

User Number       Username         Points
1               user1            10
2               user2            11 

相反,因为我得到了这个第二个foreach(注意积分列(

User Number       Username         Points
1               user1           10 11
2               user2           10 11

有没有办法管理自己行上的每个点

var_dump($product_ids);
array(5) { 
[0]=> int(2) 
[1]=> int(1) 
[2]=> int(1) 
[3]=> int(1) 
[4]=> int(1) 
}

你可以尝试这样的事情:

@foreach($best as $info)
<li class="list-group-item">
<div class="row">
<div class="col-md-2 col-xs-12">
<span class="col-xs-6 "><strong>User Number:</strong></span> {{ $info->user_id }}
</div>
<div class="col-md-3 col-xs-12">
<span class="col-xs-6">Username:</span> {{ $info->username }} 
</div>
<div class="col-md-3">
<span class="col-xs-6">Points:</span>
{{$sums[$info->user_id]}} 
</div>
</div>
</li>
@endforeach

您正在使用名为array_count_values的方法。这将计算数组的所有值。

我猜$products_ids是一个包含用户 id 的数组。
因此,如果您的$products_ids如下所示:

array(1,2,1,3,4,4)

array_count_values()将返回类似以下内容:

[user_id] => int(number_of_times_that_user_id_appear)

所以:

array(4) { 
[1]=> int(2)
[2]=> int(1) 
[3]=> int(1) 
[4]=> int(2) 
}

因此,用户 1 有 2 分,用户 2 有 1 分,用户31分,用户42分。

有关该函数的更多文档:http://php.net/manual/en/function.array-count-values.php

最新更新