模式切换
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 "未能获取到用户信息或昵称";
}