Php 当变量不在foreach循环中时,如何获取小计?拉维尔

Php 当变量不在foreach循环中时,如何获取小计?拉维尔,php,laravel,Php,Laravel,我正在开发一个购物车,我需要得到一个小计的项目添加到购物车。当变量位于foreach循环之外时,如何执行该操作?首先,我会像这样循环每个产品: @foreach($products as $p) {{$p['title']}} {{$p['price']}} @endforeach 然后,我需要如何获得此循环之外的所有产品价格小计?如果您希望在视图中实现此目标,则没有一个干净的解决方案,但是您仍然可以在视图中使用此代码 您可以从控制器方法显式传递小计值,并在视图中显示它。本来可以这样做的。在控

我正在开发一个购物车,我需要得到一个小计的项目添加到购物车。当变量位于foreach循环之外时,如何执行该操作?首先,我会像这样循环每个产品:

@foreach($products as $p)
{{$p['title']}}
{{$p['price']}}
@endforeach

然后,我需要如何获得此循环之外的所有产品价格小计?

如果您希望在视图中实现此目标,则没有一个干净的解决方案,但是您仍然可以在
视图中使用此代码

您可以从控制器方法显式传递
小计
值,并在视图中显示它。本来可以这样做的。在控制器函数中添加此代码

//initialize an empty array
$subtotal = [];
foreach($products as $p){
$price = $p['price'];
$title = $p['title'];
//push the price item to your subtotal array
array_push($subtotal, $price);
}
现在,您可以使用
array\u sum()
获得产品的小计,如

$finalTotal = array_sum($subtotal);   //returns sum of an array
现在,我希望您正在从控制器内部传递
产品
。您现在只需通过
$finalTotal
。比如说

return view('yourview')->with(array(
     'products'    => $products,
     'finalTotal' => $finalTotal 
));
现在,在刀片式模板中,只需执行
{{$finalTotal}
即可访问
小计
。我希望你得到它


您可以嵌入此代码以获得视图中的总计。我希望这将帮助您

您现在可以访问foreach循环中单个产品的
价格吗?是的,我刚刚更新了我的问题@SidIs是否有可能将其添加到控制器?我想您正在从控制器传递
产品
变量,对吗?