如何将 WordPress 字符串 meta_key 值转换为更简单的数组?
How can I convert the WordPress string meta_key value into simpler array?
a:1:{s:13:"administrator";b:1;}
我想将其分解并转换成某种数组。
您可以使用 wordpress 的 maybe_unserialize( 'a:1:{s:13:"administrator";b:1;}' )
功能以获得更好的输出。只需传递序列化字符串,它就会 return 你一个数组。
下面的字符串实际上表示序列化形式的数组。
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];
一旦它在 table 中,您就可以使用 unserialize() 函数将其 return 到一个数组中以便在您的代码中使用。
使用内置的 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;
}
a:1:{s:13:"administrator";b:1;}
我想将其分解并转换成某种数组。
您可以使用 wordpress 的 maybe_unserialize( 'a:1:{s:13:"administrator";b:1;}' )
功能以获得更好的输出。只需传递序列化字符串,它就会 return 你一个数组。
下面的字符串实际上表示序列化形式的数组。
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];
一旦它在 table 中,您就可以使用 unserialize() 函数将其 return 到一个数组中以便在您的代码中使用。
使用内置的 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;
}