Здравствуйте
Столкнулся с проблемой: есть такой скрипт. 
<script type='text/javascript'>
        function doAddContainer() {
            obj = {
                    name: "tile002",
                    thumbnail: "images/widget_scroll.png",
                    content: "tile001",
                    url: "tiles/blank.php",
                    size: "4x2",
                    theme: "orange",
                    link: ""
                };
            tile = {
                size:   "4",
                theme:  "container2",
                name:   "container2",
                tiles: obj
                
            };
            var cc = document.getElementById('plugin_textarea_string');
            tiles = cc.value;
            tile_containers = unserialize(tiles);
            tile_containers[tile_containers.length] = tile;
            document.getElementById('plugin_textarea_string').value = serialize(tile_containers);
        }
    </script>
у него на входе следущая строка из php:
a:1:{i:0;a:4:{s:4:"size";s:1:"4";s:5:"theme";s:10:  "container1";s:4:"name";s:10:"container1";s:5:"til  es";a:1:{i:0;a:7:{s:4:"name";s:7:"tile001";s:9:"th  umbnail";s:24:"images/widget_scroll.png";s:7:"content";s:7:"tile001";s:3  :"url";s:15:"tiles/blank.php";s:4:"size";s:3:"4x2";s:5:"theme";s:6:"o  range";s:4:"link";s:0:"";}}}}
скрипт должен добавить в составной массив ещё один объект и отправить его в php, соорудив вот такую "правильную" строку:
a:2:{i:0;a:4:{s:4:"size";s:1:"4";s:5:"theme";s:10:  "container1";s:4:"name";s:10:"container1";s:5:"til  es";a:1:{i:0;a:7:{s:4:"name";s:7:"tile001";s:9:"th  umbnail";s:24:"images/widget_scroll.png";s:7:"content";s:7:"tile001";s:3  :"url";s:15:"tiles/blank.php";s:4:"size";s:3:"4x2";s:5:"theme";s:6:"o  range";s:4:"link";s:0:"";}}}i:1;a:4:{s:4:"size";s:  1:"4";s:5:"theme";s:10:"container2";s:4:"name";s:1  0:"container2";s:5:"tiles";a:1:{i:0;a:7:{s:4:"name  ";s:7:"tile002";s:9:"thumbnail";s:24:"images/widget_scroll.png";s:7:"content";s:7:"tile001";s:3  :"url";s:15:"tiles/blank.php";s:4:"size";s:3:"4x2";s:5:"theme";s:6:"o  range";s:4:"link";s:0:"";}}}}
но получается вот такая "неправильная":
a:2:{i:0;a:4:{s:4:"size";s:1:"4";s:5:"theme";s:10:  "container1";s:4:"name";s:10:"container1";s:5:"til  es";a:1:{i:0;a:7:{s:4:"name";s:7:"tile001";s:9:"th  umbnail";s:24:"images/widget_scroll.png";s:7:"content";s:7:"tile001";s:3  :"url";s:15:"tiles/blank.php";s:4:"size";s:3:"4x2";s:5:"theme";s:6:"o  range";s:4:"link";s:0:"";}}}i:1;a:4:{s:4:"size";s:  1:"4";s:5:"theme";s:10:"container2";s:4:"name";s:1  0:"container2";s:5:"tiles";a:7:{s:4:"name";s:7:"ti  le002";s:9:"thumbnail";s:24:"images/widget_scroll.png";s:7:"content";s:7:"tile001";s:3  :"url";s:15:"tiles/blank.php";s:4:"size";s:3:"4x2";s:5:"theme";s:6:"o  range";s:4:"link";s:0:"";}}}
функции serialize и unserialize работают корректно. 
убирал эту строку  tile_containers[tile_containers.length] = tile;
и давал на вход скрипта от php "правильную" строку. После парсинга в обе стороны она остаётся такой же. 
Собственно вопрос: как всё-таки получить при работе скрипта "правильную"