循环POST字段并设置为变量PHP

时间:2012-10-05 13:32:29

标签: php mysql loops

我有一系列通过网络表单提交的帖子字段:

$_POST['first_name'];
$_POST['last_name'];
$_POST['house_number'];
$_POST['postcode'];

我想为每一个添加以下代码结构:

if (isset($_POST['first_name'])) {
    $first_name = mysql_prep($_POST['first_name']);
}

如何使用循环来实现此目的,以避免多次重复自己?

由于

4 个答案:

答案 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);    
}

$$正在设置变量