我有以下key/value从我的$_POST变量:
Array
(
'translations_0_comment' => 'Greetings from UK'
)
Run Code Online (Sandbox Code Playgroud)
我想要的是将此值设置为以下数组
$data[translations][0][comment] = 'Greetings from UK';
Run Code Online (Sandbox Code Playgroud)
所以我的想法是,我可以在我的KEY值中拥有任何东西,从中我将填充数组.
没有使用,有没有安全的方法来做到这一点eval()?
所有帮助表示赞赏.
更新:
这将是一个想法 eval()
foreach ($_POST as $key => $dataValue) {
$a = explode("_", $key);
$builder = '$object';
foreach ($a as $value) {
$builder.='['.$value.']';
}
$builder.=' = '.$dataValue.';';
eval($builder);
}
Run Code Online (Sandbox Code Playgroud)
我想你正在寻找这个
function set_value($object, $paths, $value, $index){
$key = $paths[$index];
$sub_object = $object[$key];
if (!is_array($sub_object)){
$object[$key] = $value;
}else{
$index = $index+1;
$object[$key] = set_value($sub_object, $paths, $value, $index);
}
return $object;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4271 次 |
| 最近记录: |