Php 数组过滤器($\u POST)-排除某些表单字段
我正在使用Php 数组过滤器($\u POST)-排除某些表单字段,php,Php,我正在使用array\u过滤器($\u POST)插入到数据库中 $db->insert('customers', $data_to_db); 但是,我想从输入中排除几个字段,因为它们不是数据库字段 是否有一种方法可以轻松排除在数组过滤器中 谢谢。过滤后删除不需要的字段 unset($data_to_db['field1']); unset($data_to_db['field2']); 指定所需对象并计算交点: $result = array_intersect_key($_POST
array\u过滤器($\u POST)代码>插入到数据库中
$db->insert('customers', $data_to_db);
但是,我想从输入中排除几个字段,因为它们不是数据库字段
是否有一种方法可以轻松排除在数组过滤器中
谢谢。过滤后删除不需要的字段
unset($data_to_db['field1']);
unset($data_to_db['field2']);
指定所需对象并计算交点:
$result = array_intersect_key($_POST, ['keep1'=>true, 'keep2'=>true]);
或在过滤器中:
$fields = ['keep1', 'keep2'];
$result = array_filter($_POST, function($v, $k) use($fields) {
return in_array($k, $fields);
}, ARRAY_FILTER_USE_BOTH);
如果使用过滤器删除空值,则:
$result = array_filter($_POST, function($v, $k) use($fields) {
return !empty($v) && in_array($k, $fields);
}, ARRAY_FILTER_USE_BOTH);
但是,如果在表单中使用多维数组,则更容易:
<input name="data[keep1]" . . . >
<input name="data[keep2]" . . . >
然后插入时只需使用$\u POST['data']