|
|
|
|
|
для: isset
(15.03.2006 в 06:05)
| | блин!!!! нифига себе велосипед выдумал))))) спасибо большое! | |
|
|
|
|
|
|
|
для: localGhost
(15.03.2006 в 05:06)
| | un/serialize? | |
|
|
|
|
|
|
| Написал функцию для бреобразовния массива в страку.. Результат по идее такой же как содержимое временного файла сессии. Но вот обратно преобразовать что-то не получаеться. Если использовать обычный массив, то впринципе ничего сложного, а вот если многоуровневый.. тут вот как то не понятно....... может что посоветуете?
Сама функция:
<?
function a_to_s ($array) {
if (!function_exists ("___types")) {
function ___types ($var) {
$type = substr (gettype ($var), 0, 1);
switch ($type) {
// array:
case "a":
$arrmap = array_map ("___map", $var);
$l = "";
$ckeys = array_keys ($arrmap);
foreach ($ckeys as $i) {
$l .= ___types ($i);
$l .= $arrmap[$i];
}
$line = "a:".count($var).":{".$l."}";
break;
// string:
case "s":
$line = "s:".strlen($var).":\"".$var."\";";
break;
// boolean:
case "b":
$var? $l = 1: $l = 0;
$line = "b:".$l.";";
break;
// double:
case "d":
$line = "d:".$var.";";
break;
// integer:
case "i":
$line = "i:".$var.";";
break;
// NULL:
case "N":
$line = "N;";
break;
}
return $line;
}
}
if (!function_exists ("___map")) {
function ___map ($n) {
return ___types ($n);
}
}
$keys = array_keys ($array);
$line = "";
foreach ($keys as $i) {
$line .= $i."|".___types ($array[$i]);
}
// cleaner:
//$cline = $line;
//
return $line;
}
?>
|
Использовать:
<?
echo a_to_s (Array);
?>
|
| |
|
|
|
|