난 아무데도 직렬화 된 문자열, 내가 전에 본 적이 아니고 무엇인가의 형식을 처리 할 수있는 뭔가를 찾을 수 없습니다.
그러나 heres는 빠른 함수는 (이 지나치게 우아하지 않을 수도 있습니다,하지만 난 단지 1 커피 했어) 배열로 켜십시오 :
$string = 'active|i:1487613760;user_username|s:20:"[email protected]";user_key|s:8:"a5186adc";authenticated|b:1;user_name|s:12:"victor";user_email|s:20:"[email protected]";remember|b:1;
';
$array = deserializeSessionString($string);
echo $array['user_key'];
// deserialize a session string into an array
function deserializeSessionString($string)
{
$output = [];
// separate the key-value pairs and iterate
foreach(explode(';', $string) as $p) {
// separate the identifier with the contents
$bits = explode('|', $p);
// conditionally store in the correct format.
if(isset($bits[1])) {
$test = explode(':', $bits[1]);
switch($test[0]) {
// int
case 'i':
$output[$bits[0]] = $test[1];
break;
case 's':
// string
// ignore test[1], we dont care about it
$output[$bits[0]] = $test[2];
break;
case 'b':
// boolean
$output[$bits[0]] = ($test[1] == 1 ? true : false);
break;
}
}
}
return $output;
}
그때 당신은 무엇을 액세스 할 수 있어야합니다을 단지 키가 필요합니다
이상한 직렬화 형식을 보인다
echo $array['user_key'];
heres an example
, 어떻게 세션 핸들러를 직렬화입니까? – DevDonkey