在循环Laravel PHP中捕获上一次迭代的值
我有一个foreach迭代,使用这个变量:在循环Laravel PHP中捕获上一次迭代的值,php,laravel,laravel-5.2,laravel-5.3,Php,Laravel,Laravel 5.2,Laravel 5.3,我有一个foreach迭代,使用这个变量: $cart = Cart {#167 ▼ +lines: array:2 [▼ 0 => CartLine {#168 ▼ +cart_line_id: 989642 +cart_id: 13049301 +parent_line_id: null +quantity: 1 +article_id: 1164 +article_name: "CUSTOMIZED
$cart = Cart {#167 ▼
+lines: array:2 [▼
0 => CartLine {#168 ▼
+cart_line_id: 989642
+cart_id: 13049301
+parent_line_id: null
+quantity: 1
+article_id: 1164
+article_name: "CUSTOMIZED T-SHIRT"
+pvp: 29.5
}
1 => CartLine {#170 ▼
+cart_line_id: 989643
+cart_id: 13049301
+parent_line_id: 989642
+quantity: 2
+article_id: 199
+article_name: "EXTRA COMPLEMENT"
+pvp: 2.5
}
]
}
这是我的laravel foreach循环:
@foreach ($cart->lines as $line)
@endforeach
我想要这个:
@foreach ($cart->lines as $line)
@if($line->parent_line_id == $line->cart_line_id(previous))
//print extra
@endif
@endforeach
我想获得当前项迭代的前一项
这是可能的?像这样:
@foreach ($cart->lines as $index => $line)
@if($index > 0 && $line->parent_line_id == $cart->lines[$index - 1]->cart_line_id)
//print extra
@endif
@endforeach
或者使用变量(看到您使用的是5.3):
您使用的是什么版本的Laravel?Laravel 5.3版本
@foreach ($cart->lines as $line)
@if(!$loop->first && $line->parent_line_id == $cart->lines[$loop->index - 1]->cart_line_id)
//print extra
@endif
@endforeach