You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何通过路径数组获取多维数组中指定的子数组或值?

动态获取多维数组指定路径的值的解决方法

要实现通过路径数组动态获取多维数组的对应值,不用静态拼接键名,可以通过逐层遍历路径数组的方式实现:

基础实现代码

$path_array = array( 'first', 'new', 'best');
$multi_data = array(
  'first' => array(
    'example' => 'good',
    'other' => 'well',
    'new' => array(
      'subset' => 'none',
      'best' => 'stackoverflow',
    )
   )
);

// 初始化变量指向原多维数组
$target_value = $multi_data;
// 遍历路径数组,逐层深入
foreach ($path_array as $key) {
    $target_value = $target_value[$key];
}

echo $target_value; // 输出:stackoverflow

健壮性优化(处理键不存在的情况)

如果路径数组里的键可能在多维数组中不存在,直接访问会报错,可以增加存在性判断:

$target_value = $multi_data;
$valid_path = true;

foreach ($path_array as $key) {
    if (!isset($target_value[$key])) {
        $valid_path = false;
        break;
    }
    $target_value = $target_value[$key];
}

if ($valid_path) {
    echo $target_value;
} else {
    echo '指定路径不存在';
}

内容的提问来源于stack exchange,提问作者stephan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:40:02