Skip to content

ThinkPHP 中如何获取对象的属性值

【问题】

在 ThinkPHP 中有如下方法,获取 $userInfo 中的 nickname 属性值

php
public function index()
{
    // 用户信息
    // {"user_id":3,"username":"admin","nickname":"\u8d85\u7ea7\u7ba1\u7406\u5458","image":"\/storage\/topic\/20231129\/5d19c0385a72ca35411c20e71ed93fb9.png","role":0}
    $userInfo = Cookie::get('user_admin');
    return View::fetch();
}

【解决】

$userInfo 是一个 JSON 字符串,需要先将其转换为 PHP 数组,然后就可以轻松地获取 nickname 属性值了。可以使用 json_decode() 函数将 JSON 字符串转换为数组,然后访问 nickname 属性。

这段代码会尝试将 $userInfo 中的 JSON 字符串转换为数组,并检查是否成功转换并且数组中是否存在 nickname 键。如果存在,它会输出用户的昵称;如果未能成功转换或者未能获取到昵称,会输出相应的提示信息。

php
$userInfo = Cookie::get('user_admin');
$userArray = json_decode($userInfo, true); // 将 JSON 字符串转换为数组

if ($userArray && isset($userArray['nickname'])) {
    $nickname = $userArray['nickname'];
    echo $nickname; // 这里输出用户的昵称
} else {
    echo "未能获取到用户信息或昵称";
}
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!