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

나는 이것을 분해하고 일종의 배열로 변환하고 싶다.어떻게 WordPress 문자열 meta_key 값을 더 간단한 배열로 변환 할 수 있습니까?

+2

시도에서 촬영은 get_user_meta에 의해 그것을 얻을하고 그것은 당신에게 배열을 반환하며, unserielize()를 사용하지 않을 경우, 그게 다야. –

+0

이것은'serialize()'함수에 전달 된 데이터를 PHP가 출력하는 형식입니다. Dipak이 말했듯이, 값을'unserialize()'에 전달함으로써 배열로 되돌릴 수 있습니다. 이 가치는 어디서 났습니까? 일반적으로 값을 수동으로 unserialize 할 필요는 없습니다. 플랫폼은 API를 제공해야합니다. –

+0

[데이터 병합 해제가 작동하지 않음]의 가능한 복제본 (https://stackoverflow.com/questions/16281156/unserializing-data-doesnt-work) – mickmackusa

답변

0

더 나은 출력을 위해 maybe_unserialize('a:1:{s:13:"administrator";b:1;}') wordpress의 기능을 사용할 수 있습니다. serialize 문자열을 전달하면 배열이 반환됩니다.

0

아래의 문자열은 실제로 직렬화 된 형식의 배열을 나타냅니다. 여기

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

: 는 1 번의 요소 들로 배열 수단 : 13 수단 문자열 및에

Array 
{ 
    "administrator" => "1" 
} 

뒤에 문자열의 길이 케이스

$mydata = a:1:{s:13:"administrator";s:1:"1";}; 
    $mydata = unserialize($mydata); 
    echo $mydata['administrator in'][0]; 

테이블에 있으면 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; 
}