将所有在laravel $ request中接收到的值循环

问题描述 投票:0回答:1

我的表单有多个复选框,其中名称也逐页更改。类似于下面的代码。

 <input type="checkbox" name="name01" value="10">
 <input type="checkbox" name="name08" value="15"

想象一下有20个复选框。如果有人选中10个复选框,我希望使用foreach循环将其插入数据库。所以到目前为止我所做的是

foreach($request as $singleItem){

        //Looping to check the name 
        for($I=0 ;$I<25;$I++){

        //Making the name
            $name = 'item'.$I;

        if($singleItem[$name] ){

            $values[] = [
                'value' => $singleItem[$name]
            ];
        }
        }
    }
    dd($values);

但是这给我下面的错误

error

任何人都可以帮我这个忙

php arrays laravel parameters request
1个回答
1
投票

您应该像这样获取它,

$arr = $request->all();
dd($arr);
foreach($arr as $key => $singleItem){
// $key is your name01, name02, etc
// here you will get padded name string if you want to check.
$name = str_pad($key, 2, "0", STR_PAD_LEFT);
    if(isset($arr[$name])){
        $values[] = [
                'value' => $singleItem
        ];
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.