我希望能够将一个字符串(“['parent_array'] ['child_array']”)传递给一个函数,然后将该字符串和“my_array”拉到它的前面,然后创建一个变量变量。
然后在函数内部我执行print_r($$ string)并且没有任何结果。请参阅下面的代码以获得更好的解释。
// DOES NOT WORK
$string1 = "my_array['parent_array']['child_array']";
print_r($$string1); //prints nothing.
// WORKS
$string2 = "test";
$test = "This will be printed!";
print_r($$string2); //prints "This will be printed!
// WORKS
print_r($my_array['parent_array']['child_array']);
答案 0 :(得分:0)
变量变量是一个丑陋,丑陋的黑客。
使用eval。
示例:
$expr = "\$my_array['parent_array']['child_array']";
$val = 'not assigned';
eval("\$val = $expr;");
print_r($val);
但请遵循他们关于评估用户提供的代码的危险性的警告。
更新:以示例