Php 将_POST参数映射到变量的更好方法
我确信有一种更好的方法可以将所有的POST参数映射到同名变量。有人知道如何做得更好吗Php 将_POST参数映射到变量的更好方法,php,post,dry,url-parameters,Php,Post,Dry,Url Parameters,我确信有一种更好的方法可以将所有的POST参数映射到同名变量。有人知道如何做得更好吗 $ownerName = $_POST["ownerName"]; $ownerEmail = $_POST["ownerEmail"]; $ownerPhone = $_POST["ownerPhone"]; $ownerAddress = $_POST["ownerAddress"]; $buyerName = $_POST["buyerName"]; $buyerEmail = $_POST["buyer
$ownerName = $_POST["ownerName"];
$ownerEmail = $_POST["ownerEmail"];
$ownerPhone = $_POST["ownerPhone"];
$ownerAddress = $_POST["ownerAddress"];
$buyerName = $_POST["buyerName"];
$buyerEmail = $_POST["buyerEmail"];
$buyerPhone = $_POST["buyerPhone"];
$buyerAddress = $_POST["buyerAddress"];
$propertyAddress = $_POST["propertyAddress"];
$parcelNumber = $_POST["parcelNumber"];
非常感谢。PHP中有一个函数用于将值转换为变量:
<?php
extract($_POST, EXTR_SKIP);
?>
如果您使用的是php>5,我建议您查看以下内容:
过滤器输入函数允许您轻松应用一些您可能需要的验证和卫生功能。您可以通过这种方式使用foreach(与
提取不同)
您可以操作/检查变量名称或值
<?php
foreach($_POST as $key => $value)
$$key = $value;
?>
Wow我今天学到了一些新东西。很好奇这到底有多安全?例如,如果我有一个布尔值“$authorized”,有人用authorized=true
发帖,它会覆盖这个值吗?哇!非常感谢你给出的完美答案,以及帮助n00b=D@Amir使用第二个参数,您可以避免..我放置的参数“EXTR_SKIP”将完全做到这一点。如果变量已经存在,不要重写。Amir,这就是EXTR_SKIP的目的,如果变量已经存在,它将不会重写它。这是一个非常酷的函数,但它在页面上说,警告-不要对不受信任的数据使用extract(),如用户输入(即$\u GET,$\u文件等)。如果您这样做,例如,如果您想临时运行依赖register_globals的旧代码,请确保使用一个非覆盖的extract_类型值,例如EXTR_SKIP,并注意应按照php.ini中变量_顺序中定义的相同顺序进行提取。