2017-11-30 7 views
-1
a:1:{s:13:"administrator";b:1;} 

私はこれを分解して、何らかの配列に変換したいと考えています。WordPressの文字列meta_keyの値をより単純な配列に変換するにはどうすればよいですか?

+2

get_user_metaでそれを得るために、それは(あなたの配列を返し、そしてunserielizeを使用しない場合します試してみてください)から取られ、それがすべてです。 –

+0

これは 'serialize()'関数に渡されるデータのPHP出力形式です。 Dipakが言ったように、値を 'unserialize()'に渡すことで配列に戻すことができます。この価値はどこで見つけましたか?通常、値を手動でシリアル化する必要はありません。プラットフォームはAPIを提供する必要があります。 –

+0

[データのシリアル化解除が機能しません](https://stackoverflow.com/questions/16281156/unserializing-data-doesnt-work) – mickmackusa

答えて

0

maybe_unserialize('a:1:{s:13:"administrator";b:1;}')より良い出力のためにwordpressの機能を使用できます。シリアライズ文字列を渡すだけで配列が返されます。

0

以下の文字列は、実際にシリアル化された形式の配列を表します。

ここ
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()関数を使用してコードに使用するために配列に戻すことができます。

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; 
} 
関連する問題