我有以下关联数组存储在一个也包含数据库连接语句的php文件中。
$fields = array(
"A" => "A",
"B" => "B",
"C" => "C",
...
);
在这里,我叫它
include('dbconnection.php');
我打算从这个代码是,$领域内值$ _ POST [$场]将被转移到存储中的值$ fields。
if (isset($_POST['submit'])){
//iterating through fields array
foreach($fields as $column => $field){
//cleaning and storing user input in fields array
$field = mysqli_real_escape_string($cxn , htmlspecialchars($_POST[$field]));
}
这些新$字段然后数组值将被转移到$ emptyArray,其中含0,NULL,FALSE或“”值将被过滤掉的数组的元素。
$emptyArray = array();
$emptyArray = array_merge ($emptyArray, array_values($fields));
$emptyArray = array_filter($emptyArray);
最后,检查是否有存储在$ emptyArray任何元素后,错误信息将被发出,通过调用一起运行功能renderform。
if (empty($emptyArray)){
$error = 'You have reached this message because you did not specify a field to update';
renderForm($id, $fields, $error);
}
}
功能renderform包含参数$领域,在这条产业链的第一阵列,这就是为什么我选择使用$ emptyArray,而不是$领域,以节省其结构。
但是,如果我跑的$字段和$ emptyArrayrenderform之前,我其操作之前,接收阵列与存储在$字段的键和值的print_r
Array [[A] => A [B] => B [C] => C [...] => ...)
可以使用$ _POST [$ field]我打算ing($ field内的值$ _POST [$ field]被转移到$ fields中存储的值)?如果是这样,这是一个好习惯吗?
感谢您的阅读, 我很乐意回答您的问题。
你不能只是使用['array_map()'](http://php.net/manual/en/function.array-map .PHP) –