- json_decode: documentation ( source)
- var_export: documentation ( source)
<?php
function mergeAndBoolify($posted) {
$result = [];
foreach ($posted as $key1 => $value1) {
if ($key1 === 'JsonData') {
foreach (json_decode($value1, true) as $item) {
foreach ($item as $key2 => $value2) {
if (in_array($value2, ['true', 'false'])) {
$value2 = json_decode($value2);
}
$result[$key2] = $value2;
}
}
} else {
$result[$key1] = $value1;
}
}
return $result;
}
$_POST = [
'JsonData' => '[{"firstname":"false"},{"lastname":"true"},{"email":""}]',
'otherdata' => 'otherdata'
];
var_export(mergeAndBoolify($_POST));