Php Laravel,这种代码的替代方式在不改变其含义的情况下看起来很美
有没有其他更短更漂亮的方法?目前正在使用Maatwebsite/Laravel ExcelPhp Laravel,这种代码的替代方式在不改变其含义的情况下看起来很美,php,laravel-5.4,Php,Laravel 5.4,有没有其他更短更漂亮的方法?目前正在使用Maatwebsite/Laravel Excel foreach ($rows as $key => $value) { if($value->{'red'} == 1) { DB::table('furnitures')->insert( [ 'chair' => $value->{'Chair Name'}, 'desk' =
foreach ($rows as $key => $value)
{
if($value->{'red'} == 1)
{
DB::table('furnitures')->insert(
[
'chair' => $value->{'Chair Name'},
'desk' => $value->{'Desk Name'},
'tv' => $value->{'TV Name'},
'lamp' => $value->{'Lamp Name'}
'carpet' => 1,
]);
}
if($value->{'green'} == 1)
{
DB::table('furnitures')->insert(
[
'chair' => $value->{'Chair Name'},
'desk' => $value->{'Desk Name'},
'tv' => $value->{'TV Name'},
'lamp' => $value->{'Lamp Name'}
'carpet' => 2,
]);
}
if($value->{'blue'} == 1)
{
DB::table('furnitures')->insert(
[
'chair' => $value->{'Chair Name'},
'desk' => $value->{'Desk Name'},
'tv' => $value->{'TV Name'},
'lamp' => $value->{'Lamp Name'}
'carpet' => 3,
]);
}
}
请注意,“地毯”会根据颜色(红色、绿色、蓝色)更改值。你一定会问“为什么所有条件都是if,为什么不是else if?”这是因为我想用不同的“地毯”值存储所有值,尽管所有其他值都是相同的请尝试以下方法:
$colors = ['red' => 1, 'green' => 2, 'blue' => 3];
foreach ($rows as $key => $value) {
foreach ($colors as $color_name => $color_value) {
if ($value->{$color_name} == 1) {
DB::table('furnitures')->insert(
[
'chair' => $value->{'Chair Name'},
'desk' => $value->{'Desk Name'},
'tv' => $value->{'TV Name'},
'lamp' => $value->{'Lamp Name'},
'carpet' => $color_value,
]
);
}
}
}
哦,天哪,那代码太漂亮了!非常感谢你!