a:1:{s:13:"administrator";b:1;}
我想将其分解并转换为某种数组。
答案 0 :(得分:1)
您可以使用wordpress的maybe_unserialize( 'a:1:{s:13:"administrator";b:1;}' )
功能来获得更好的输出。只需传递序列化字符串,它就会返回一个数组。
答案 1 :(得分:0)
下面的字符串实际上代表了一个序列化形式的数组。
a:1:{s:13:"administrator";s:1:"1";}
下面: a:1表示具有单个元素的数组 s:13表示字符串,字符串的长度后跟
Array
{
"administrator" => "1"
}
在你的情况下
$mydata = a:1:{s:13:"administrator";s:1:"1";};
$mydata = unserialize($mydata);
echo $mydata['administrator in'][0];
一旦在表中,您可以使用unserialize()函数将其返回到数组中以供代码使用。
答案 2 :(得分:0)
使用内置的WordPress功能,您不必操作该级别的数据。取自here
/*
* Get user's role
*
* If $user parameter is not provided, returns the current user's role.
* Only returns the user's first role, even if they have more than one.
* Returns false on failure.
*
* @param mixed $user User ID or object.
* @return string|bool The User's role, or false on failure.
*/
function km_get_user_role( $user = null ) {
$user = $user ? new WP_User( $user ) : wp_get_current_user();
return $user->roles ? $user->roles[0] : false;
}