我目前正在使用以下格式来保存HTML表单$item_name=$_POST['item_name'];
这样可以保存值,但是如何将name属性保存在变量中?
提前致谢!
答案 0 :(得分:3)
假设您要将$ _POST变量的每个元素存储为键值对,那么您可以尝试:
$var = array();
foreach($_POST as $key => $val) {
$var[$key] = $val;
}
答案 1 :(得分:0)
我节省了很多价值,并希望避免输入每一个。
请先说清楚。
全局变量意图手动输入。
如果你想要一些自动处理 - 只需将它们保存在阵列形式中。
看起来rdt.exe的答案就是你要找的。 p>
答案 2 :(得分:-1)
$_POST
- 数组并获取值。如果你想将名字存储在一个变量中,也可以这样做:
$item_name_name = 'item_name';
$item_name_value = $_POST[$item_name_name];
你可以也使用某种循环来动态创建具有相应名称的变量,如下所示:
foreach( $_POST as $name => $value ){
$$name = $value;
}
在我看来,这两种方式都是某种不必要的和无用的,但是你没有说明你究竟要做什么 - 所以也许这会有所帮助。
答案 3 :(得分:-1)
另一种方法:
$keysarray = array_keys ( $_POST);
print_r( $keysarray);
这将为您提供数组中的所有键
答案 4 :(得分:-1)
您正在寻找的功能称为extract。
这将为数组中的所有$key=>$val
对创建变量。
$_EXAMPLE = array('bird' => 'chicken', 'dog' => 'greyhound');
export($_EXAMPLE);
echo $bird; # prints "chicken"
echo $dog; # prints "greyhound"
注意 - 这是一个巨大的安全风险。其他一些答案中描述的解决方案也是如此。
执行此类操作的问题是用户可以篡改POST数据,并设置除应该设置的参数之外的参数。如果他们在您的应用程序中设置实际上是变量名称的变量,那么这些变量可以被覆盖。
$is_admin = false;
$_EXAMPLE = array('bird' => 'chicken', 'dog' => 'greyhound', 'is_admin' => 'true');
export($_EXAMPLE);
if ($is_admin) { # this will now evaluate to true.
# do sensitive stuff...
}