提问人:stephan 提问时间:11/14/2023 更新时间:11/14/2023 访问量:64
在 PHP 中获取多维数组中的第 n 个数组 [duplicate]
Get nth array in multidimensional array in PHP [duplicate]
问:
这个问题在这里已经有答案了:
如何通过键名/路径访问和操作多维数组? (10 个答案)
按键路径获取数组值 PHP [duplicate] (2 answer)
解析字符串以获取数组元素 [duplicate] (4 答案)
6天前关闭。
我有一个给定的路径,其中包含指向多维数组中的子数组的键(在单独的数组中)。
$path_array = array( 'first', 'new', 'best');
$multi_data = array(
'first' => array(
'example' => 'good',
'other' => 'well',
'new' => array(
'subset' => 'none',
'best' => 'stackoverflow',
)
)
);
当然,由于动态生成的数据,数组正在发生变化。
我的问题:如何通过我得到的路径获得正确的值或数组? 正确的静态方法是:
echo $multi_data['first']['new']['best'];
// prints: stackoverflow
我在 $path_array 上尝试了 foreach-Loop,但我无法将路径元素放在一起(键是方括号)。
答:
-1赞
Arthur Boucher
11/14/2023
#1
编辑:不知道为什么我在转移值时会遇到所有这些麻烦,foreach 工作得很好
可以做这样的事情:
$result = $multi_data;
foreach($path_array as $key){
$result = $result[$key];
}
echo $result;
这个想法是在每次迭代时更深入地研究数组。但是,如果您可能有一些不存在的密钥,请格外小心。
评论
0赞
stephan
11/14/2023
刚刚意识到我用这种方式来读取元素。直接写给它怎么样:$a['first']['new']['best'] = 'stackexchange';
0赞
mickmackusa
11/14/2023
@Arthur 请从此页面中删除您的建议,并将其转移到规范(或至少是之前提出的问题)
0赞
mickmackusa
11/14/2023
@stephan规范演示了使用键路径的读取和写入。
评论
$multi_data
$path_array
$path_array
$path_array
$path_array
$path_array
n