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

在Laravel中如何通过层级路径字符串获取多维数组指定键的值

实现方案

Laravel 内置的数组/数据读取辅助函数已经支持按层级路径取值,你只需要先把路径字符串的分隔符做简单转换即可:

  1. 首先将你拿到的note > to > abc格式路径里的>替换为Laravel辅助函数支持的点号分隔符
  2. 调用data_get()(通用,支持数组和对象)或者Arr::get()(仅针对数组)方法直接取值即可

完整示例代码

// 示例数组
$yourArray = [
    'note' => [
        'to' => [
            'user' => [
                'name' => 'First User'
            ],
            'abc' => 123,
            'lmn' => 4582
        ],
        'from' => 'Jani',
        'heading' => 'Reminder',
        'body' => [
            'abc' => 123
        ]
    ]
];

// 层级路径字符串
$levelPath = 'note > to > abc';

// 转换路径格式
$dotPath = str_replace(' > ', '.', $levelPath);

// 取值,第三个参数为路径不存在时返回的默认值,可选
$result = data_get($yourArray, $dotPath, null);

// 此时$result的值为 123

如果要使用Arr::get,需要先引入门面:

use Illuminate\Support\Arr;

$result = Arr::get($yourArray, $dotPath);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:54:04