【发布时间】:2011-11-03 23:03:55
【问题描述】:
我需要这样做:
$array['level1']['level2']['level3'] = 'someval';
但是,我不知道会有多少关卡。我希望能够自动创建具有任意数量级别的这些数组。我正在尝试调整以下内容,使其形成一个实际的 PHP 数组:
for($i=1;$i<=3;$i++){
$string .= '_level'.$i;
};
${'array'.$string} = 'someval';
var_dump($array_level1_level2_level3); //Outputs: string(7) "someval"
显然这不能替代数组。我只是在寻找可以应用于多维数组的并行。我怀疑答案在于某种递归函数,但我不太确定是什么。
更新
这是我真正想做的事情。我无法充分解释我的问题,因此问题已关闭。所以,我试着把它拆成碎片。
https://stackoverflow.com/questions/8002490/creating-multidimensional-arrays-in-php
【问题讨论】:
-
您是否需要这样做?
-
所以不是输入 49 个字符,而是输入 85 个字符?如果是这样的话,我可以让你对月球上一些非常漂亮的房地产感兴趣吗?不过说真的,除了让你的代码在你完成后让任何需要支持它的人感到困惑之外,我看不出你想要做什么。
-
您确定您正在解决正确的问题吗?也许数组是您尝试使用的数据的错误媒介......
-
您需要考虑的另一件事是取消设置数组中的元素。您目前可能不需要这样做,但请考虑
unset($array['level1']['level2']);。使用数组,这很容易。使用您的系统,您将需要检查所有变量以在正确的位置查找level2并取消设置该变量。代码复杂、混乱、速度慢。 -
@DaveWilsonLAMP 让我澄清一下:我不想使用我提供的示例代码。我正在演示我希望在创建多维数组时实现的自动化类型。数组确实很容易。这就是为什么我正在寻求帮助来创建它们。