a:1:{s:13:"administrator";b:1;}
私はこれを分解して、何らかの配列に変換したいと考えています。WordPressの文字列meta_keyの値をより単純な配列に変換するにはどうすればよいですか?
a:1:{s:13:"administrator";b:1;}
私はこれを分解して、何らかの配列に変換したいと考えています。WordPressの文字列meta_keyの値をより単純な配列に変換するにはどうすればよいですか?
maybe_unserialize('a:1:{s:13:"administrator";b:1;}')
より良い出力のためにwordpressの機能を使用できます。シリアライズ文字列を渡すだけで配列が返されます。
以下の文字列は、実際にシリアル化された形式の配列を表します。
ここa:1:{s:13:"administrator";s:1:"1";}
: :1は、単一の要素 sの配列を意味する:13は、文字列した場合
$mydata = a:1:{s:13:"administrator";s:1:"1";};
$mydata = unserialize($mydata);
echo $mydata['administrator in'][0];
で
Array
{
"administrator" => "1"
}
続く文字列の長さを意味します
これがテーブルに入ったら、unserialize()関数を使用してコードに使用するために配列に戻すことができます。
組み込みの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;
}
get_user_metaでそれを得るために、それは(あなたの配列を返し、そしてunserielizeを使用しない場合します試してみてください)から取られ、それがすべてです。 –
これは 'serialize()'関数に渡されるデータのPHP出力形式です。 Dipakが言ったように、値を 'unserialize()'に渡すことで配列に戻すことができます。この価値はどこで見つけましたか?通常、値を手動でシリアル化する必要はありません。プラットフォームはAPIを提供する必要があります。 –
[データのシリアル化解除が機能しません](https://stackoverflow.com/questions/16281156/unserializing-data-doesnt-work) – mickmackusa