从数组列表中获取表单序列化值
Get form serialize value from the array list
我有一个这样的数组:
Array
(
[action_name] => edit
[formData] => color=red&size=full&symmetry=square&symmetry=circle&symmetry=oval
)
这里表单数据是通过JS的serialize方式来的,所以显示如上。我想从 formData
键中获取每个数据。我怎样才能得到它?
我试过了:
$_POST['formData']['color']
但这不起作用。我认为获取它的方法应该有所不同。我该怎么做?
您可以使用 parse_str 来“ 解析字符串,就好像它是通过 URL 传递的查询字符串一样,并在当前范围内设置变量(或者在数组中,如果结果已提供)。"
<?php
$_POST = [
'action_name' => 'edit',
'formData' => 'color=red&size=full&symmetry=square',
];
parse_str($_POST['formData'], $parsed);
print_r($parsed);
会输出
Array
(
[color] => red
[size] => full
[symmetry] => square
)
编辑:
symmetry
有多个值,您的查询应如下所示:
<?php
$_POST = [
'action_name' => 'edit',
'formData' => 'color=red&size=full&symmetry[]=square&symmetry[]=circle&symmetry[]=oval',
];
parse_str($_POST['formData'], $parsed);
print_r($parsed);
这将输出:
Array
(
[color] => red
[size] => full
[symmetry] => Array
(
[0] => square
[1] => circle
[2] => oval
)
)
我有一个这样的数组:
Array
(
[action_name] => edit
[formData] => color=red&size=full&symmetry=square&symmetry=circle&symmetry=oval
)
这里表单数据是通过JS的serialize方式来的,所以显示如上。我想从 formData
键中获取每个数据。我怎样才能得到它?
我试过了:
$_POST['formData']['color']
但这不起作用。我认为获取它的方法应该有所不同。我该怎么做?
您可以使用 parse_str 来“ 解析字符串,就好像它是通过 URL 传递的查询字符串一样,并在当前范围内设置变量(或者在数组中,如果结果已提供)。"
<?php
$_POST = [
'action_name' => 'edit',
'formData' => 'color=red&size=full&symmetry=square',
];
parse_str($_POST['formData'], $parsed);
print_r($parsed);
会输出
Array
(
[color] => red
[size] => full
[symmetry] => square
)
编辑:
symmetry
有多个值,您的查询应如下所示:
<?php
$_POST = [
'action_name' => 'edit',
'formData' => 'color=red&size=full&symmetry[]=square&symmetry[]=circle&symmetry[]=oval',
];
parse_str($_POST['formData'], $parsed);
print_r($parsed);
这将输出:
Array
(
[color] => red
[size] => full
[symmetry] => Array
(
[0] => square
[1] => circle
[2] => oval
)
)