Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразование массива в строку
 
 автор: localGhost   (15.03.2006 в 05:06)   письмо автору
 
 

Написал функцию для бреобразовния массива в страку.. Результат по идее такой же как содержимое временного файла сессии. Но вот обратно преобразовать что-то не получаеться. Если использовать обычный массив, то впринципе ничего сложного, а вот если многоуровневый.. тут вот как то не понятно....... может что посоветуете?

Сама функция:

<?
function a_to_s ($array) {
    if (!
function_exists ("___types")) {
        function 
___types ($var) {
            
$type substr (gettype ($var), 01);
            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);
?>

   
 
 автор: isset   (15.03.2006 в 06:05)   письмо автору
 
   для: localGhost   (15.03.2006 в 05:06)
 

un/serialize?

   
 
 автор: localGhost   (15.03.2006 в 08:45)   письмо автору
 
   для: isset   (15.03.2006 в 06:05)
 

блин!!!! нифига себе велосипед выдумал))))) спасибо большое!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования