我正在重构给我的所有代码,我在代码中看到了那么多用于其他方法的重复变量
这是
$tag_id = json_decode($_POST['tag_id']);
$tag_name = json_decode($_POST['tag_name']);
$pname = json_decode($_POST['pname']);
$icode = json_decode($_POST['icode']);
$bname = json_decode($_POST['bname']);
$client = json_decode($_POST['client']);
$package = json_decode($_POST['package']);
$reference = json_decode($_POST['reference']);
$prodcat = json_decode($_POST['prodcat']);
$physical_array = json_decode($_POST['physical_array']);
$chemical_array = json_decode($_POST['chemical_array']);
$physpec_array = json_decode($_POST['physpec_array']);
$micro_array = json_decode($_POST['micro_array']);
$microspec_array = json_decode($_POST['microspec_array']);
$prod_type = json_decode($_POST['prod_type']);
$create_physical_id_array = json_decode($_POST['create_physical_id_array']);
$create_chemical_id_array = json_decode($_POST['create_chemical_id_array']);
$create_micro_id_array = json_decode($_POST['create_micro_id_array']);
我的问题是我如何才能将它放在一个方法中,我只是将其称为其他方法而不是重复该代码。
谢谢
答案 0 :(得分:1)
把它放在一个数组
中$post_array = [];
foreach($_POST as $key => $value)
{
$post_array[$key] = json_decode($value);
}
return $post_array;
然后像这样调用它
$post_array['create_micro_id_array'];
答案 1 :(得分:1)
您无法通过其他方式调用它。因为为该方法定义的变量是本地的。相反,您可以将变量定义为该类的成员变量,并根据访问说明符从任何方法甚至从外部类进行访问。
protected $a=2;
public function method1()
{
echo $this->a;
}
public function method2()
{
echo $this->a;
}
答案 2 :(得分:0)
由于您似乎非常了解要使用的变量名称...我建议PHP Variable variables
为此,您可以遍历$_POST
并在使用密钥作为变量名称时处理该值。
foreach($_POST as $key => $value)
{
$$key = json_decode($value);
}
在一天结束时,这4行会产生所有这些...但是我不太确定看到代码的其他人看起来有多友好。试一试。
答案 3 :(得分:0)
您可以尝试extract
功能。
extract($_POST);