我已经在这个问题上打了一段时间了。我正在开发一款软件,该软件根据MySQL结果创建一棵树,检查每一行之间的变化,以确定在树中的何处放置新数据。
在试图了解如何动态地告诉PHP处理数组的不同部分时,我现在处于死胡同。
我虽然要使用变量变量,但似乎无法正常工作。为了让我的生活更轻松,我尝试设置一个测试文件来测试此行为,这就是结果...
$array = [
0 => [
"name" => "test"
],
1 => [
"name" => "test",
"data" => [
"content" => 5
]
]
];
$ref = 'array["1"]["name"]';
echo $ref."\n";
echo $$ref;
输出
array["1"]["name"]
Notice: Undefined variable: array["1"]["name"] in P:\xampp\htdocs\assets\php\test.php on line 23
我原本期望的是类似test
的东西。
我还想提到我已经尝试过${}
方法,但是我不影响数组,而是在极少数情况下将数据添加到另一个变量中而不会输出错误。 / p>
任何人都可以帮忙吗?谢谢!
答案 0 :(得分:0)
再次考虑问题后,我想出了一种解决方法来达到预期的结果。
我决定对&$var
使用引用make。
// Old method
$ref = 'array["1"]["name"];
// New method
$ref = ["1", "name"];
然后,通过循环遍历引用原始数组的数组来执行代码,但是慢慢深入...
// Referencing the original array
$referencedArray = &$array;
// Going one step at the time inside the nested array
foreach ($ref as $k => $v) {
$referencedArray = &$referencedArray[$rav];
}
我相信这种解决方案可以满足我的情况,但是如果您有任何建议,请告诉我。