我想将每个pincode的记录插入到数据库中,但是我收到了这个错误。为foreach()提供了无效的参数。
我的代码就是这个。
if(!empty($post_data['pincode'])){
$explode_pincode = implode(',',$post_data['pincode']);
$data['pincode'] = $explode_pincode;
foreach($data['pincode'] as $pinvalue)
{ $post_data['pincode']=$pinvalue;
$post_data['store_name']=$store_name;
$post_data['store_id']=$store_id;
$result = $this->msproduct_model->insertPromo($post_data);
}
答案 0 :(得分:1)
我猜你只是错过输入爆炸来 implode 。
答案 1 :(得分:1)
收到以下错误“警告:提供的参数无效 foreach()“
由于null
或false
或参数不是数组
foreach($data['pincode'] as $pinvalue){
^
see var_dump($data['pincode']),
since $data['pincode'] is either null or false or not array you get above error
我们可以像这样重新生成此错误,例如
$ php -r 'foreach(null as $e){}'
PHP Warning: Invalid argument supplied for foreach() in Command line code on line 1
/*false OR FALSE*/
$ php -r 'foreach(false as $e){}'
PHP Warning: Invalid argument supplied for foreach() in Command line code on line 1
/* Not array */
$ php -r 'foreach("somestring" as $e){}'
PHP Warning: Invalid argument supplied for foreach() in Command line code on line 1
所以你需要先纠正一行
implode - 使用字符串
连接数组元素
发件人强>
$explode_pincode = implode(',',$post_data['pincode']);
explode - 按字符串
拆分字符串
explode(string $ delimiter,string $ string [,int $ limit = PHP_INT_MAX])
返回一个字符串数组,每个字符串都是字符串的子字符串 通过将其分割成由字符串分隔符形成的边界而形成。
以强>
$explode_pincode = explode(',',$post_data['pincode']);
答案 2 :(得分:0)
您使用implode()
代替explode()
。它应该是:
$explode_pincode = explode(',',$post_data['pincode']);