PHP设置动态数组索引

Adn*_*nan 3 php arrays

我有以下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)

din*_*eco 5

我想你正在寻找这个

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)