PHP把POST参数自动映射到数组中

By | 2016年9月1日

前台表单一堆参数,post提交后,后台如果需要手动接收从$_POST中取参数就太烦了,可以先查询对应表中的所有列名,然后根据列名匹配,把post参数自动放到数组中。这样后台保存数据时就能省很多代码了。

public function post_map($tbname){
   $columns = $this->table_column($tbname);
   //循环所有列名
   for($i=0;$i<count($columns);$i++){
	if(isset($_POST[$columns[$i]])){
	  //赋值到数组中,名称使用列名
	  $data[$columns[$i]] = $_POST[$columns[$i]];
	}
   }
	return $data;
}

public function table_column($tbname) {
	$result = $this->queryAll("SHOW FULL COLUMNS FROM "._DB_PRE_.$tbname);
	foreach ($result as $data) {
			$columns[] = $data['Field'];
	}
	return $columns;
}