如何将WordPress字符串meta_key值转换为更简单的数组?

时间:2017-11-30 05:17:13

标签: php wordpress explode

a:1:{s:13:"administrator";b:1;}

我想将其分解并转换为某种数组。

3 个答案:

答案 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;
}