我使用serialize((在ajax调用中获取表单值。现在我得到一个数组值。。我希望数组存储在变量..中。。
这是我得到的:
Array ( [datewise] => 05/22/2015 [mealplan] => AP )
我想要这样:
$date=05/22/2015;
$meal=AP;
如何从数组中这样存储?
说真的,这非常危险。您允许在脚本中人工注入变量。
为什么不直接使用数组?
如果必须的话,也可以重新分配。
$datewise=$array['datewise'];
有明确的作业是一件好事!它被称为可读代码。
$expected_keys = array('datewise', 'mealplan');
foreach ($expected_keys as $key) {
${$key} = $your_array[$key];
}
但即便如此,我仍然看不出有什么理由这么做。如果数据已经在数组中,并且有望得到验证,那么为什么不按原样使用数组呢?
$array = [
'datewise' => '05/22/2015',
'mealplan' => 'AP',
];
list($date, $meal) = array_values($array);
调试:
var_dump($date);
var_dump($meal);
产生
string(10) "05/22/2015"
string(2) "AP"
$var = Array ( [datewise] => 05/22/2015 [mealplan] => AP );
extract($var);
现在可以使用$datewise
和$mealplan
变量。