php - 如何在 PHP 中访问不同(未知)长度的嵌套数组
问题描述
我有一个使用不同长度的嵌套数组的系统。例如,我有:
$this->parentArray['level1'][1]['associative_key_1']
也
$this->parentArray['level1']['associative_key_1'] //no middle index [1]
我正在尝试动态访问这些嵌套数组,但我遇到了麻烦。这就是我正在尝试的:
public function getArray($arrayPath){
$theArray = explode('.', $arrayPath); //arrayPath is in dot notation coming from JS
$theTag = "";
foreach ($theArray as $a) {
$theTag .= "['" . $a . "']";
}
$theBase = 'parentArray'.$theTag;
print($this->$theBase);
}
这成功地构造了看起来像我想要的格式的字符串......类似的东西parentArray['level1']['1']['associative_key_1']
,如果有一个嵌套较少的数组,它也可以工作。因此,如果我打印$theBase
没有问题并且一切看起来都很好。但是如果我尝试在动态变量中使用它并访问类中的属性,例如$this->$theBase
它会抛出一个错误,指出找不到该属性。但如果我手动输入数组路径,它确实存在。
如何动态构建/访问长度未知的嵌套数组?
解决方案
推荐阅读
- c++ - 两种情况下的输出不应该相同吗?
- oracle - 是什么原因导致“如果绑定大于请求或支持 bean 范围,则可能导致不一致。” ADF 中的警告
- ionic-framework - ionic3 pro包android:应用启动慢
- jmeter - Jmeter JMS 发布者问题
- npm - NPM:使用 package.json 卸载包
- python - Python:如何删除文本语料库中的标点符号,但不删除特殊单词中的标点符号(例如 c++、c#、.net 等)
- python - Python - 如何通过重定向获取最终 URL 和数据
- javascript - 找到可重复以适应最大总值的一组值的算法
- c# - UWP - 在特定条件下在列表视图中显示数据库
- selenium-webdriver - 无法使用 Java Client 6.1.0 运行 Appium 测试