如何在php中拆分变量中的数组值?
我使用serialize()在ajax调用中获取表单值。现在我得到一个数组值。我希望数组存储在变量中 以下是我得到的:如何在php中拆分变量中的数组值?,php,ajax,Php,Ajax,我使用serialize()在ajax调用中获取表单值。现在我得到一个数组值。我希望数组存储在变量中 以下是我得到的: Array ( [datewise] => 05/22/2015 [mealplan] => AP ) 我想要这样: $date=05/22/2015; $meal=AP; 如何从阵列中这样存储 $var = Array ( [datewise] => 05/22/2015 [mealplan] => AP ); extract($var);
Array ( [datewise] => 05/22/2015 [mealplan] => AP )
我想要这样:
$date=05/22/2015;
$meal=AP;
如何从阵列中这样存储
$var = Array ( [datewise] => 05/22/2015 [mealplan] => AP );
extract($var);
现在您可以使用$datewise
和$mealplan
变量
$expected_keys = array('datewise', 'mealplan');
foreach ($expected_keys as $key) {
${$key} = $your_array[$key];
}
但即便如此,我仍然看不出有任何理由这么做。如果数据已经在数组中,并且希望经过验证,那么为什么不按原样使用数组呢?严肃地说,这是非常危险的。您允许在脚本中使用artibrary注入变量 为什么不直接使用数组呢 如果必须的话,也可以重新分配 $datewise=$array['datewise'] 有明确的任务是一件好事!这叫做可读代码
$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"
$date=$array['datewise']$膳食=$array['mealplan']代码>@Dagon那只是变量名,再加上更少的输入:像pi一样的输入我每次按键都会得到报酬!HJRFTYBDFTY DVRJVFGymFvrndHfByJgmubgKgmhkugnKmukiand extract是危险的-ajax源可能不安全更好地希望传入的ajax数据是“安全的”,但即使在您的情况下“$date=$array['datewise'];”也可能是一些恶意SQL注入;-)如果他将其存储在数据库中或对其进行查询…我不建议使用extract,即使建议不使用。它仅用于从数据库中选择数据…因此使用此函数是否安全…是的,您可以使用,列名将成为单独的变量,与extract一样危险。很公平,虽然这个问题并没有提到消毒输入,所以有点脱离上下文。我将编辑一个“更安全”的方法。