Php 更改从序列化表单创建的数组中的键和值
我有一个序列化的表单,然后使用ajax发布到PHP脚本 当我发布表单时,我的数组如下所示:Php 更改从序列化表单创建的数组中的键和值,php,html,arrays,ajax,Php,Html,Arrays,Ajax,我有一个序列化的表单,然后使用ajax发布到PHP脚本 当我发布表单时,我的数组如下所示: Array ( [0] => Array ( [name] => informatie[titel] [value] => ) [1] => Array ( [name] => informatie[inspectienummer]
Array
(
[0] => Array
(
[name] => informatie[titel]
[value] =>
)
[1] => Array
(
[name] => informatie[inspectienummer]
[value] =>
)
[2] => Array
(
[name] => informatie[datum]
[value] =>
)
[3] => Array
(
[name] => informatie[naaminspecteur]
[value] =>
)
[4] => Array
(
[name] => informatie[locatie]
[value] =>
)
[5] => Array
(
[name] => informatie[naamgeauditeerden]
[value] =>
)
[6] => Array
(
[name] => questionlist[jjjj][hhhh]
[value] => ok
)
[7] => Array
(
[name] => questionlist[jjjj][jjj]
[value] => ok
)
[8] => Array
(
[name] => questionlist[Testt][test]
[value] => fout
)
)
Array
(
[information] => Array
(
[titel] => inserted value
[inspectienummer] => inserted value
[datum] => inserted value
[naaminspecteur] => inserted value
[locatie] => inserted value
[naamgeauditeerden] => inserted value
)
[questionlist] => Array
(
[jjjj] => Array
(
[hhhh] => ok
[jjj] => fout
)
[testt] => Array
(
[test] => n.v.t.
)
)
)
数组自动包含键名称
和值
。但我需要这样一个数组:
Array
(
[0] => Array
(
[name] => informatie[titel]
[value] =>
)
[1] => Array
(
[name] => informatie[inspectienummer]
[value] =>
)
[2] => Array
(
[name] => informatie[datum]
[value] =>
)
[3] => Array
(
[name] => informatie[naaminspecteur]
[value] =>
)
[4] => Array
(
[name] => informatie[locatie]
[value] =>
)
[5] => Array
(
[name] => informatie[naamgeauditeerden]
[value] =>
)
[6] => Array
(
[name] => questionlist[jjjj][hhhh]
[value] => ok
)
[7] => Array
(
[name] => questionlist[jjjj][jjj]
[value] => ok
)
[8] => Array
(
[name] => questionlist[Testt][test]
[value] => fout
)
)
Array
(
[information] => Array
(
[titel] => inserted value
[inspectienummer] => inserted value
[datum] => inserted value
[naaminspecteur] => inserted value
[locatie] => inserted value
[naamgeauditeerden] => inserted value
)
[questionlist] => Array
(
[jjjj] => Array
(
[hhhh] => ok
[jjj] => fout
)
[testt] => Array
(
[test] => n.v.t.
)
)
)
我怎样才能做到这一点?这就是我试图做的:
$wpi = $_POST['wpi'];
$newarray = array();
foreach($wpi as $wpikey => $wpivalue){
$newarray[$wpikey] = $wpivalue;
}
echo '<pre>';
print_r($newarray);
echo '</pre>';
$wpi=$\u POST['wpi'];
$newarray=array();
foreach($wpi作为$wpikey=>$wpivalue){
$newarray[$wpikey]=$wpivalue;
}
回声';
打印(新数组);
回声';
但它给了我同样的结果
我的HTML如果这澄清了什么:
//container for new array
$arr2 = [];
//loop over the outer parts of the array...
foreach($wpi as $sub_arr) {
//...parse the namespace parts in the name field
preg_match_all('/^[^\[]+|(?<=\[)[^\]]+(?=\])/', $sub_arr['name'], $parts);
//...recursively add the values to a new, multi-dimensionsl array
$append_to = &$arr2;
foreach($parts[0] as $i => $part) {
if (!array_key_exists($part, $append_to))
$append_to[$part] = $i < count($parts[0]) - 1 ? [] : $sub_arr['value'];
$append_to = &$append_to[$part];
}
}
Werkplekinspectie模板:
jjj
滴度:
检查汇总:
检查数据:
Naam检查员:
位置/归属
Naam/Namen geauditeerden
jjjj
hhh
好啊
福特
N.v.t
jjj
好啊
福特
N.v.t
测试
测试
好啊
福特
N.v.t
试试这个
//新数组的容器
$arr2=[];
//在阵列的外部部分上循环。。。
foreach($wpi作为$sub_arr){
//…分析名称字段中的命名空间部分
预匹配全部('/^[^\[]+|)(?