|
|
|
| В таком виде сессия хранит две переменные dw_admin_login и level, цифра 5 может меняться потому что это скорее всего число символов значения переменной. Мне нужно вытащить значения переменных dw_admin_login и level (в данном примере эти значения admin и admin соотвественно)
dw_admin_login|s:5:"admin";level|s:5:"admin";
|
| |
|
|
|
|
|
|
|
для: Satori
(03.10.2008 в 11:53)
| | На самом деле это массив свернутый в строку при помощи функции serialize() - получить исходный массив можно при помощи обратной функции unserialize(). | |
|
|
|
|
|
|
|
для: cheops
(03.10.2008 в 11:56)
| | Не срабатывает почему-то:
<?php
$string = 'dw_admin_login|s:5:"admin";level|s:5:"admin";';
$array = array();
$array = unserialize($string);
print_r($array);
?>
|
| |
|
|
|
|
|
|
|
для: Satori
(03.10.2008 в 12:35)
| | Потому что это не результат serialize(). Строка была бы похожа на a:2:{s:14:"dw_admin_login";s:5:"admin";s:5:"level";s:5:"admin";}
Что распарсить Вашу строку, можно составить что-то такое:
<?php
$str = 'dw_admin_login|s:5:"admin";level|s:5:"admin";';
$arrStr = explode(';', $str);
foreach ($arrStr as $s)
{
if (!$s) continue;
preg_match('/(.+)\|.+"(.*)"/', $s, $m);
$out[$m[1]] = $m[2];
}
var_dump($out);
?>
|
| |
|
|
|
|
|
|
|
для: Keda
(03.10.2008 в 14:55)
| | Большое спасибо, работает ! | |
|
|
|