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

从嵌套数组取值问题——PHP WordPress场景

WordPress get_post_meta 获取用户数据并转为变量

问题分析

直接echo $job_owner报错是因为它包含stdClass对象,无法直接转换为字符串;转成数组后访问失败,是因为访问路径错误,且数组不能用对象的->语法调用属性。

正确处理方式

方式1:直接操作原数据(无需转数组)

原$job_owner是数组结构,用户数据嵌套在data子数组的第0位且为stdClass对象,按层级访问即可:

// 先校验数据存在,避免报错
if (!empty($job_owner['data']) && isset($job_owner['data'][0])) {
    $user = $job_owner['data'][0];
    
    // 转为单独变量
    $user_id = $user->id;
    $first_name = $user->firstName;
    $last_name = $user->lastName;
    $user_email = $user->email;
}

方式2:转数组后操作

如果已经转成关联数组,使用数组索引语法访问,注意层级结构:

$array = json_decode(json_encode($job_owner), true);

// 校验数据合法性
if (!empty($array['data']) && isset($array['data'][0])) {
    $user = $array['data'][0];
    
    // 转为单独变量
    $user_id = $user['id'];
    $first_name = $user['firstName'];
    $last_name = $user['lastName'];
    $user_email = $user['email'];
}

错误原因说明

你之前用echo $array[0]->id失败,核心问题有两个:

  1. $array的顶级键是total和data,没有索引为0的元素,用户实际数据在$array['data'][0]中
  2. 转成数组后,用户数据是关联数组,必须用['键名']访问,不能使用对象的->键名语法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:25:20