我有一系列通过网络表单提交的帖子字段:
$_POST['first_name'];
$_POST['last_name'];
$_POST['house_number'];
$_POST['postcode'];
等
我想为每一个添加以下代码结构:
if (isset($_POST['first_name'])) {
$first_name = mysql_prep($_POST['first_name']);
}
如何使用循环来实现此目的,以避免多次重复自己?
由于
答案 0 :(得分:8)
您可以使用PHP的extract()
函数为您执行此操作。
extract($_POST);
// you now have a variable for every key in $_POST
如果您只需要某个键列表而不是完整数组,则还可以使用variable-variables
(带有两个前导$
的变量,例如$$var
):< / p>
$keysToExtract = array('first_name', 'last_name');
foreach ($keysToExtract as $key) {
$$key = $_POST[$key];
}
// you now have $first_name and $last_name
答案 1 :(得分:2)
使用array_map() PHP function为所有数组元素应用一些操作。
之后extract($_POST)
如果你想接收名为$_POST
数组键的变量。
答案 2 :(得分:2)
尝试使用foreach:
foreach( $_POST as $key => $value ) {
$$key = mysql_prep( $value );
}
答案 3 :(得分:1)
怎么样
foreach ($_POST as $key => $value){
$$key = mysql_prep($value);
}
$$正在设置变量