如何在php中拆分变量中的数组值


How to split the array value in variable in php?

我使用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变量。